← Back to BillShield

Measured results, misses included

40 seeded synthetic bills · mode: rules-only (no model) · generated Sat, 14 Nov 2026 12:30:51 GMT · 20 ms total. Reproduce with npm run eval.

Labeled PII leaked
0 / 440
Free-text PII leaked (rules-only)
67 / 68
Clean bills falsely flagged
0 / 11
Disputable $ found
$13,662

Billing-error rules

RuleTPFPFNPrecisionRecall
DUPLICATE1000100%100%
MATH600100%100%
TOTAL700100%100%
UNBUNDLE1000100%100%
POST_DISCHARGE600100%100%
PRICE_OUTLIER800100%100%
DOUBLE_EM700100%100%

Every miss (67)

The free-text leaks are why BillShield adds an on-device Gemini Nano pass: the regex layer alone misses spaced phone numbers, spelled-out birthdays and first names in notes. Model-on numbers will be added after measuring in Chrome with Nano.

bill-100PII leak (free-text, rules-only)born September ##, ####
bill-101PII leak (free-text, rules-only)born October #, ####
bill-102PII leak (free-text, rules-only)Daniel
bill-102PII leak (free-text, rules-only)### ### ####
bill-102PII leak (free-text, rules-only)born October ##, ####
bill-103PII leak (free-text, rules-only)Lucas
bill-103PII leak (free-text, rules-only)### ### ####
bill-103PII leak (free-text, rules-only)born October #, ####
bill-104PII leak (free-text, rules-only)born October ##, ####
bill-105PII leak (free-text, rules-only)Sofia
bill-105PII leak (free-text, rules-only)### ### ####
bill-106PII leak (free-text, rules-only)Aisha
bill-106PII leak (free-text, rules-only)### ### ####
bill-107PII leak (free-text, rules-only)Daniel
bill-107PII leak (free-text, rules-only)### ### ####
bill-108PII leak (free-text, rules-only)Lucas
bill-108PII leak (free-text, rules-only)### ### ####
bill-108PII leak (free-text, rules-only)born November ##, ####
bill-109PII leak (free-text, rules-only)### ### ####
bill-109PII leak (free-text, rules-only)born November #, ####
bill-110PII leak (free-text, rules-only)born November ##, ####
bill-112PII leak (free-text, rules-only)Daniel
bill-112PII leak (free-text, rules-only)### ### ####
bill-112PII leak (free-text, rules-only)born December ##, ####
bill-113PII leak (free-text, rules-only)Fatima
bill-113PII leak (free-text, rules-only)### ### ####
bill-113PII leak (free-text, rules-only)born December ##, ####
bill-114PII leak (free-text, rules-only)Elena
bill-114PII leak (free-text, rules-only)### ### ####
bill-117PII leak (free-text, rules-only)Priya
bill-117PII leak (free-text, rules-only)### ### ####
bill-117PII leak (free-text, rules-only)born January ##, ####
bill-118PII leak (free-text, rules-only)Fatima
bill-118PII leak (free-text, rules-only)### ### ####
bill-118PII leak (free-text, rules-only)born January ##, ####
bill-120PII leak (free-text, rules-only)born January ##, ####
bill-121PII leak (free-text, rules-only)Aisha
bill-121PII leak (free-text, rules-only)### ### ####
bill-122PII leak (free-text, rules-only)Priya
bill-122PII leak (free-text, rules-only)### ### ####
bill-123PII leak (free-text, rules-only)born February ##, ####
bill-125PII leak (free-text, rules-only)born February ##, ####
bill-126PII leak (free-text, rules-only)Wei
bill-126PII leak (free-text, rules-only)### ### ####
bill-127PII leak (free-text, rules-only)born February ##, ####
bill-128PII leak (free-text, rules-only)Noah
bill-128PII leak (free-text, rules-only)### ### ####
bill-128PII leak (free-text, rules-only)born March #, ####
bill-129PII leak (free-text, rules-only)born March ##, ####
bill-132PII leak (free-text, rules-only)Priya
bill-132PII leak (free-text, rules-only)### ### ####
bill-133PII leak (free-text, rules-only)Noah
bill-133PII leak (free-text, rules-only)### ### ####
bill-133PII leak (free-text, rules-only)born April ##, ####
bill-134PII leak (free-text, rules-only)Kwame
bill-134PII leak (free-text, rules-only)### ### ####
bill-134PII leak (free-text, rules-only)born April #, ####
bill-136PII leak (free-text, rules-only)Wei
bill-136PII leak (free-text, rules-only)### ### ####
bill-136PII leak (free-text, rules-only)born April #, ####
bill-137PII leak (free-text, rules-only)Lucas
bill-137PII leak (free-text, rules-only)### ### ####
bill-138PII leak (free-text, rules-only)Noah
bill-138PII leak (free-text, rules-only)### ### ####
bill-139PII leak (free-text, rules-only)Sofia
bill-139PII leak (free-text, rules-only)### ### ####
bill-139PII leak (free-text, rules-only)born May ##, ####

Cloud letter path (Firebase AI Logic, live site)

Each letter drafted by the cloud model is checked by deterministic code: every dollar amount and billing code must trace to a finding, no new placeholders, no raw identifiers. Anything that fails falls back to the template. Measured with headless Chrome against the live deployment.

Bills
12
Cloud letters accepted
12 / 12
Rejected by fact checker
0
Redaction guard passed
12 / 12

gemini-3.5-flash-lite via Firebase AI Logic · headless Chrome (no Gemini Nano) → cloud path · 2026-11-14T12:30:06.783Z

bill-100in_cloudPASSED: 8 amounts, 6 codes all traced to findings
bill-101in_cloudPASSED: 7 amounts, 3 codes all traced to findings
bill-102in_cloudPASSED: 6 amounts, 7 codes all traced to findings
bill-103in_cloudPASSED: 7 amounts, 3 codes all traced to findings
bill-104in_cloudPASSED: 9 amounts, 3 codes all traced to findings
bill-105in_cloudPASSED: 7 amounts, 7 codes all traced to findings
bill-106in_cloudPASSED: 9 amounts, 2 codes all traced to findings
bill-118in_cloudPASSED: 2 amounts, 1 codes all traced to findings
bill-119in_cloudPASSED: 2 amounts, 6 codes all traced to findings
bill-120in_cloudPASSED: 4 amounts, 0 codes all traced to findings
bill-121in_cloudPASSED: 3 amounts, 1 codes all traced to findings
bill-122in_cloudPASSED: 2 amounts, 2 codes all traced to findings

Run history (what the checker caught)

Notes