A font whose digits draw other digits
An embedded font maps a digit to a glyph that cannot be that digit, so a reader sees different numbers from the ones the document stores.
How the text is hidden
The embedded font's cmap points each character at a glyph outline. Point the glyph for 5 at the outline that draws 0 and the stored text still reads $50,000 while the page reads $500,000. Nothing is hidden, nothing is added, and no family-A signal exists to find — the divergence lives entirely inside the font.
Why a model still reads it
The text is ordinary Unicode and extracts perfectly; that is the attack rather than an accident of it. The human reads one number and every machine downstream reads another, which is the same divergence as pdf.cmap-divergence one layer down.
What we do about it
Three signals over the ten digits, read from the font's own tables with nothing rendered. Two are topological and exact: a 0 or 8 drawn with fewer than two contours cannot be that digit, and two digits never legitimately share a glyph id (4, 6 and 9 are excluded from the contour rule because open-top and single-storey designs are real). The third rasterises the drawn glyph and compares it against a per-digit reference, accusing only when a rival digit both clears limits.embeddedGlyphRivalFloor and beats the claimed digit by more than limits.embeddedGlyphShapeMargin, and declining any glyph narrower than limits.embeddedGlyphMinAspect. high, family B, action: "flagged" — nothing is stripped, because the text was never wrong — with a divergence pair carrying source: "structure" attached only where both halves can actually be named.
How often it fires
Not measured. We publish a rate only where one has been measured against a named corpus of the right format, and no figure exists for this technique yet. Absence means unknown — never low.
Check your own file
Three commands: a key, credit, a verdict.
Start with the API