THE FONT VAULT · real fonts, a manifest, and a reader
WAKES WHEN someone asks what a font file is, or whether a brand's fonts are all in place
THE LOOP
inspect each font file
write the manifest: house, role, file
manifest · present, missing, doubtful
pick · the file for each role
licence · what the font says of itself
NEVER
Download a font
Pass a stand-in under a real name
Call its reading of a licence the licence
IT MAKES inspect — names, metrics, embedding, axes, checksums; manifest — every house's fonts: present, missing, doubtful; pick — the file to draw a role with; licence — what the font says of its licence and embedding.
THE STANDARD real letters; read, not guessed; doubt is said; licences, read plainly; never fetched; web fonts named.
PROOF SELFTEST 8/8 · witnessed in Claude 2026-10-11 · Edition 1.
THE SEAL 98 of 100 · LEGENDARY · WITNESSED · Trigger 5 · Machinery 5 · Law 5 · Portability 5 · Proof 5
IT CAN BE WRONG an AI reading a text file: it can be wrong and can invent a number, a rule, a name or a date; check what matters against your own records and the source; the risk is yours. THE-CLAUSES.md rides in the packet and is part of the licence.
THE PUNCH · SHA-256 OF SKILL.MD · 17E1257C179A7AAC29C45F4B
CITE THIS CARDTHE FONT VAULT, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=font-vault-card. Punch 17E1257C179A7AAC29C45F4B. Retrieved 2026-10-11.
What it is.
A folder of real font files, a manifest of which face each brand uses for which role, and a reader for the files themselves. inspect reads a TrueType or OpenType font: its names, units per em, weight, embedding permission in words, x-height and cap height, glyph count, kerning, a variable font's axes, and every table's checksum; manifest says which files each house needs are present, missing, unreadable or doubtful (a file named for one face holding another); pick names the file to draw a role with, or says a stand-in would be drawn; licence reads what the font says about its licence and embedding.
It carries a machine that shows its working: inspect — names, metrics, embedding, axes, checksums; manifest — every house's fonts: present, missing, doubtful; pick — the file to draw a role with; licence — what the font says of its licence and embedding — 8 checks in its selftest, every command on the record. It will never download a font; never pass a stand-in under a real name; never call its reading of a licence the licence.
Six laws, written into the card.
They are in the card itself, so the AI follows them.
REAL LETTERSA build draws from the real outlines; a missing file means a stand-in, and the print gate fails it.
READ, NOT GUESSEDEvery value comes from the font's own tables, and every table's checksum is checked.
DOUBT IS SAIDA file named for one face that holds another is flagged as a likely stand-in.
LICENCES, READ PLAINLYIt reads what the font says; the font's own licence text governs, not this reading.
NEVER FETCHEDThe machine never downloads a font; the owner brings the files.
WEB FONTS NAMEDWOFF and WOFF2 and collections are refused plainly; keep a TrueType or OpenType master.
What rides in the card.
In the card’s own voice, with a machine that shows its working.
THE GUIDEreferences/THE-FONT-VAULT.md
THE MACHINEfontvault.py · four commandsinspect — names, metrics, embedding, axes, checksums; manifest — every house's fonts: present, missing, doubtful; pick — the file to draw a role with; licence — what the font says of its licence and embedding. Every command prints its working and refuses a bad input; 8 checks in its selftest, every command on the record.
manifest Every house's fonts: present, missing, doubtful
pick The file to draw a role with
licence What the font says of its licence and embedding
On the record Two small fonts made for the demo are read: a static OpenType face with kerning and a variable TrueType face with weight and width axes; the manifest finds the mono face missing and fails; pick names the display file and says the mono would be a stand-in; the licence reads as the SIL Open Font License.
What it will never do.
It will never download a font; never pass a stand-in under a real name; never call its reading of a licence the licence.
It reads TrueType and OpenType files; WOFF, WOFF2 and collections are refused. It reports whether GPOS kerning is present but does not read its pairs. Its reading of a licence is not legal advice. It is an AI reading a text file: it can be wrong, so check what matters against your own records and the source.
What’s in the buy.
CARD.md — the whole card: who it is, its laws, when it says no, what it carries · SKILL.md — the door your AI reads first · START-HERE.md — the first five minutes, for you
THE-FONT-VAULT.md — the guide in references/, in the card's own voice
scripts/fontvault.py — the machine: inspect · manifest · pick · licence, standard library only, selftest 8/8
WITNESS.md + SELFTEST.md — every command on the record, as it printed · MANIFEST.md, every file hashed · AUDIT.md, the twelve checks
MY-LEDGER.md — the card's memory, on your own machine · TIN.md · LICENSE-NOTE.md · THE-CLAUSES.md · HOSTS.md
card.svg + card-machine.svg + card.json · card.html, the card as one offline file · the doors for ChatGPT, Gemini, Cursor, Claude Code and MCP hosts (rules/, system/, mcp/)
PROOF · SELFTEST 8/8 · 4 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-11 · EDITION 1 · PUNCH 17E1257C179A7AAC29C45F4B
ON EVERY DOOR · A CARD FOR YOUR AI, A FILE FOR YOUR COMPUTER
In Claude: turn on code execution under Settings › Capabilities, then Customize › Skills › + › Create skill, and upload the zip as it is — START-HERE.md in the box walks you through it, and tells you how to keep the ledger. In ChatGPT, Gemini and the rest: a Project, a GPT or a Gem with the card’s files attached and the short door in the box pasted as its instructions. The words run anywhere an AI reads Markdown; the machines run wherever the host runs Python. Witnessed in Claude only. The host marks →
Take it.
Nº 1159 PROPOSED — LAUNCHING SOON
Sold as is under the term printed. A card instructs an AI you operate; results depend on your model, your files and your judgement. Not medical, legal, tax or financial advice, never the person’s boss, and not a licence to practise. The terms →
One payment. The file is yours to keep and keeps working at its edition; new editions issued in the year after you buy reach you by email as replacement files. Tax is added at checkout where it applies. Nothing auto-renews.
A TERM, NOT A SUBSCRIPTION: NOTHING RENEWS ITSELF AND NOBODY IS CHARGED AGAIN. WHEN A TERM ENDS THE FILES STAY ON YOUR COMPUTER AND STAY READABLE — FREEZE, NOT LOSS.
THE MACHINE · IN THE OPEN · FROM THE WITNESSED RUN OF 2026-10-11
fontvault.py, every command showing its working.
A small Python program, standard library only. Your AI runs it; you can too. Every block below is pasted from the card’s own WITNESS.md, as printed.
inspect
names, metrics, embedding, axes, checksums
manifest
every house's fonts: present, missing, doubtful
pick
the file to draw a role with
licence
what the font says of its licence and embedding
selftest
8 checks that prove the machine; it must print 8/8
$ python3 scripts/fontvault.py inspect fonts/TestSans-Regular.otf
TestSans-Regular.otf · 912 bytes · CFF (PostScript curves) outlines · sha256 9f37709f1c61
family Test Sans
subfamily Regular
full name Test Sans Regular
version Version 1.000
licence This Font Software is licensed under the SIL Open Font License, Version 1.1.
licence at not stated
units/em 1000
weight 400 (regular)
embedding installable (0): it may be embedded, and installed on the reader's system for good
x-height 500 units (0.50 em) · cap height 700 units (0.70 em)
glyphs 1
kerning kern table yes · GPOS no
variable no (no fvar table)
tables 10: CFF OS/2 cmap head hhea hmtx kern maxp name post
checksums every table matches its directory entry
$ python3 scripts/fontvault.py inspect fonts/TesteVariable.ttf
TesteVariable.ttf · 892 bytes · TrueType (quadratic curves) outlines · sha256 e2d1c22a08a1
family Testé Variable
subfamily Regular
full name Testé Variable Regular
version Version 2.000
licence not stated
licence at not stated
units/em 1000
weight 400 (regular)
embedding editable (8): it may be embedded in a document, which may then be edited and saved
x-height 480 units (0.48 em) · cap height 700 units (0.70 em)
glyphs 1
kerning kern table no · GPOS yes
variable 2 axises · wght (Weight) 100 to 900, default 400 · wdth (Width) 75 to 125, default 100 · 1 named instance
tables 14: GPOS OS/2 STAT cmap fvar glyf gvar head hhea hmtx loca maxp name post
checksums every table matches its directory entry
manifest · EVERY HOUSE'S FONTS: PRESENT, MISSING, DOUBTFUL
$ python3 scripts/fontvault.py manifest vault.json fonts
fonts · 1 house · 3 roles
studio · display TestSans-Regular.otf present · sha256 9f37709f1c61 · Test Sans
studio · flex TesteVariable.ttf DOUBTFUL · sha256 e2d1c22a08a1 · the font inside calls itself Testé Variable: a stand-in under the real name?
studio · mono TestMono-Regular.ttf MISSING · not in the folder: a stand-in would be drawn
total · 3 roles · 1 present · 1 missing · 0 unreadable · 1 doubtful · 3 distinct files
every role not present is drawn with a stand-in, and THE PRINT CARD fails a piece drawn with a stand-in
pick · THE FILE TO DRAW A ROLE WITH
$ python3 scripts/fontvault.py pick vault.json fonts studio display
TestSans-Regular.otf
studio · display · present in fonts · sha256 9f37709f1c61 · Test Sans
pick · THE FILE TO DRAW A ROLE WITH
$ python3 scripts/fontvault.py pick vault.json fonts studio mono
studio · mono: TestMono-Regular.ttf is missing from the folder fonts
a stand-in would be drawn in its place, and THE PRINT CARD fails a piece drawn with a stand-in
put the real file in the folder: the owner downloads it; this machine never fetches a font
licence · WHAT THE FONT SAYS OF ITS LICENCE AND EMBEDDING
$ python3 scripts/fontvault.py licence fonts/TestSans-Regular.otf
TestSans-Regular.otf · Test Sans Regular
the font states: This Font Software is licensed under the SIL Open Font License, Version 1.1.
licence at: not stated (name record 14 is empty)
reading: SIL Open Font License
embedding: installable (0): it may be embedded, and installed on the reader's system for good
the font's own licence text governs, not this reading: a reading of what the file says, not legal advice
THE NUMBERS, NAMES AND DATES IN THESE RUNS ARE THE STUDIO’S OWN EXAMPLES, INVENTED FOR THE RECORD; NO REAL COMPANY, PERSON OR PROPERTY IS NAMED.
QUESTIONS AT THE TABLE
Asked before the wire.
What does it need from me?
Inspect each font file. It asks first for the font files (TrueType or OpenType), the folder they live in, and which face each house uses for which role.
Does it send anything anywhere?
No. The machine is a standard-library Python program that runs on your own computer and sends nothing anywhere; the words run wherever an AI reads Markdown. No server, no account, no key.
What is on the record?
The self-test (8/8) and every command run on real example inputs, pasted into WITNESS.md as they printed; the punch on the face is the SHA-256 of SKILL.md, so a downloaded copy can be checked against this room.
Can it be wrong?
Yes — it is an AI reading a text file. It reads TrueType and OpenType files; WOFF, WOFF2 and collections are refused. It reports whether GPOS kerning is present but does not read its pairs. Its reading of a licence is not legal advice.
What will it never do?
It will never download a font; never pass a stand-in under a real name; never call its reading of a licence the licence.