THE MEMORY POLICY CARD · the memory seat · what an AI may keep about people, and for how long
WAKES WHEN a chatbot, companion, tutor or agent gets memory or the memory tool, a team drafts or reviews its memory section or retention rule, or an export needs an audit
THE METHOD
draft --product … --kind … --retention-days N — a starting section, every line a choice.
policy POLICY.md — the gaps, each with a line to add.
export MEMORIES.jsonl --policy POLICY.md --as-of DATE — the flagged memories, values masked.
categories — what it looks for, and where the list comes from.
REFUSES
Printing or quoting a sensitive value from an export
Calling "as long as needed" a limit
Calling the lint legal sign-off
IT MAKES policy — lint a written memory policy; every gap with a line to add; export — scan a sample export of stored memories against the policy, values masked; draft — a starting memory section, every choice marked; categories — the sensitive categories and where the list comes from.
THE LAW Every gap and flag comes from the machine; a sensitive value is never printed. A retention limit is a number. A sensitive detail needs a reason and a policy that allows it. The export is read, never changed. Not legal advice.
IN THE BOX scripts/memorypolicy.py · the checklist · the method by hand · the sources · ten tests.
PROOF selftest 16/16; a tutor's policy (eight gaps) and export (five of eight memories flagged, values masked), and the trigger test, on the record (WITNESS.md) · witnessed 2026-10-13 · EDITION 1.
THE SEAL 96 of 100 · LEGENDARY · WITNESSED · Trigger 5 · Machinery 5 · Law 5 · Portability 5 · Proof 4
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. LICENSE-NOTE.md rides in the packet and is the licence.
THE PUNCH · SHA-256 OF SKILL.MD · 4C7FDE1BB89DAE671E109352
CITE THIS CARDTHE MEMORY POLICY CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=memory-policy-card. Punch 4C7FDE1BB89DAE671E109352. Retrieved 2026-10-13.
What it is.
A check, before memory goes live and after, of what an AI assistant, companion, tutor or agent keeps about people:
Use it whenever a chatbot, companion, tutor or agent gets memory or the memory tool, a team drafts or reviews its memory section or retention rule, or an export needs an audit. Not for one person's own memories (THE FORGET CARD), redacting text before sending (THE REDACT CARD), profiling a dataset (THE DATASHEET CARD), legal advice.
It carries a machine that shows its working: policy — lint a written memory policy; every gap with a line to add; export — scan a sample export of stored memories against the policy, values masked; draft — a starting memory section, every choice marked; categories — the sensitive categories and where the list comes from — 16 checks in its selftest.
It answers requests such as “review our memory policy before we switch memory on”, “what should the policy say about health or money details the assistant picks up?”, “audit this export of what our companion app stored”, “draft the memory section for our AI tutor”.
Five laws, written into the card.
They are in the card itself, so the AI follows them.
EVERY GAP AND FLAG COMES FROM THE MACHINEEvery gap and flag comes from the machine; a sensitive value is never printed.
A RETENTION LIMIT IS A NUMBERA retention limit is a number.
A SENSITIVE DETAIL NEEDS A REASON…A sensitive detail needs a reason and a policy that allows it.
THE EXPORT IS READThe export is read, never changed.
NOT LEGAL ADVICENot legal advice.
The method.
draft --product … --kind … --retention-days N — a starting section, every line a choice.
policy POLICY.md — the gaps, each with a line to add.
export MEMORIES.jsonl --policy POLICY.md --as-of DATE — the flagged memories, values masked.
categories — what it looks for, and where the list comes from.
What rides in the card.
In the card’s own voice, with a machine that shows its working.
THE REFERENCESreferences/SOURCES.md · THE-CHECKLIST.md · THE-METHOD.md
THE MACHINEscripts/memorypolicy.py · four commandspolicy — lint a written memory policy; every gap with a line to add; export — scan a sample export of stored memories against the policy, values masked; draft — a starting memory section, every choice marked; categories — the sensitive categories and where the list comes from. 16 checks in its selftest. Standard library only; nothing opens a network connection.
What it does once your AI has it.
policy Lint a written memory policy; every gap with a line to add
export Scan a sample export of stored memories against the policy, values masked
draft A starting memory section, every choice marked
categories The sensitive categories and where the list comes from
On the record Example Tutor: a four-line policy with eight gaps, five of eight stored memories flagged with every value masked, and a draft that says all ten things; 36 of 40 in the trigger test after the rewrite
What it refuses, and where it hands off.
It refuses printing or quoting a sensitive value from an export; calling "as long as needed" a limit; calling the lint legal sign-off.
one person cleaning up what an assistant remembers about them → THE FORGET CARD
redacting text before it is sent to a model → THE REDACT CARD
profiling a dataset → THE DATASHEET CARD
whether a law applies → a lawyer
Patterns find many sensitive details, not all, and a person reads every flag; it reads words, not practice; 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: its boot, law, method, machine, seals, refusals and hand-offs, ledger, score and what it carries · SKILL.md — the door your AI reads first · START-HERE.md — the first five minutes, for you
SOURCES.md + THE-CHECKLIST.md + THE-METHOD.md — in references/, in the card's own voice
scripts/memorypolicy.py — the machine: policy · export · draft · categories; standard library only, no network; selftest 16/16
WITNESS.md — the run on a realistic case as printed, and the trigger test on Haiku, Sonnet and Opus · SELFTEST.md — the machine's own test, as run at the cut · AUDIT.md, the twelve checks · MANIFEST.md, every file hashed
tests/evals.json — the cases it must take, hand off and refuse
MY-LEDGER.md — the card's memory, on your own machine · TIN.md, the nine lines on the tin · LICENSE-NOTE.md · HOSTS.md, where it runs
system/short-prompt.md and system/system-prompt.md — the doors for any AI without skills
PROOF · SELFTEST 16/16 · WITNESSED ON A RUN · TRIGGER TEST 27 OF 40 ON ITS OWN PROMPTS · HAIKU 7/16 · SONNET 12/16 · OPUS 8/8 · 0 WRONG PICKS · EDITION 1 · PUNCH 4C7FDE1BB89DAE671E109352
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º 964 — 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 CARD’S OWN WITNESS.MD AND SELFTEST.MD
memorypolicy.py, every command showing its working.
A small Python program. Your AI runs it; you can too. The blocks below are pasted from the card’s own record, as printed.
policy
lint a written memory policy; every gap with a line to add
export
scan a sample export of stored memories against the policy, values masked
draft
a starting memory section, every choice marked
categories
the sensitive categories and where the list comes from
selftest
16 checks that prove the machine; it must print 16/16
MEMORY POLICY LINT · tutor-memory-policy.md · 3 of 10 things said · retention not a number
GAPS · and the line to add
P3 sensitive details the policy does not say how health, money, IDs, location, beliefs and similar are handled
add: The assistant does not keep sensitive details (health, money, government IDs, card or account numbers, precise location, beliefs, sex life or orientation, biometric or genetic data, details about children) unless the user asks it to and a reason is recorded with the memory.
P4 retention no retention limit as a number of days, weeks, months or years
add: Memories are deleted [N] days after they were last used.
P5 see the policy does not say how a person sees what is kept
add: Users can see everything the assistant remembers about them in Settings → Memory.
P6 correct the policy does not say how a person corrects it
add: Users can edit any memory, or ask the assistant to change it.
P8 third parties the policy does not say what is kept about people users mention
add: The assistant keeps only what the user needs about people they mention (a name and the context), never sensitive details about them.
P9 who can read them the policy does not say who can read memories
add: Only the user and the assistant read memories; staff see them only to answer a support request the user makes.
P10 on and off the policy does not say how memory is switched on or off
add: Memory is off until the user turns it on, and can be turned off at any time.
P11 a limit that is a number the policy says 'as long as needed': that is not a limit
add: Replace 'as long as needed' with a number of days.
VERDICT · GAPS
RULE · a memory policy says what memories are for, what may be kept, how sensitive details are handled, a retention limit as a number, how a person sees, corrects and deletes memories, what is kept about third parties, who can read them, and how memory is switched on and off.
SOURCE · the card's checklist (references/THE-CHECKLIST.md), drawn from the data-protection principles of purpose, minimisation, storage limitation and the rights of access, rectification and erasure (GDPR Articles 5, 9, 15-17, read 2026-10-12), and the memory tool's own guidance.
LIMIT · it reads words, not practice: a policy that says the right things can still be broken in code. Not legal advice.
MEMORY EXPORT SCAN · tutor-memories.jsonl · 8 memories of 3 users · as of 2026-10-13 · retention not set
FOUND · by category (a memory can hold several)
third parties 2
children 1
contact details 1
health 1
money 1
precise location 1
FLAGGED · each value masked; the export itself is not changed
m-0102 s-17 health kept with no reason recorded
Has [health] and takes [health] in the morning, so prefers short 10-minute sessions.
m-0103 s-17 about a third party (her mom)
Her mom [a name] asked for weekly progress emails at [contact details].
m-0105 s-22 precise location kept with no reason recorded
[precise location] [precise location] and walks home after school, studies from 4pm.
m-0106 s-22 money kept with no reason recorded; about a third party (his dad)
Said his dad [money] and [money] at home.
m-0107 s-31 children kept with no reason recorded
Is [children] and in [children].
POLICY GAPS · 8 (run `policy` for the lines to add)
P3 sensitive details, P4 retention, P5 see, P6 correct, P8 third parties, P9 who can read them, P10 on and off, P11 a limit that is a number
VERDICT · GAPS · 5 of 8 memories flagged
RULE · a sensitive detail needs a recorded reason and a policy that allows it; a memory older than the limit is deleted; a note about someone else holds only what the user needs.
SOURCE · the policy and the export you gave; the categories in `categories`.
LIMIT · patterns find many sensitive details, not all, and can mistake an ordinary word for one: a person reads every flag. Values are masked in this report; the export still holds them. Not legal advice.
THE SELFTEST, AS PRINTED
PASS a complete policy: no gaps, retention 180 days
PASS 'as long as needed' is not a limit: P4 and P11 are named
PASS a bare policy names every missing part, each with a line to add
PASS the Luhn rule tells a card number from a phone-like run of digits
PASS health and a card number are found, and the masked text holds neither value
PASS third parties and an address are found; the names and the street are masked
PASS an ordinary preference raises nothing
PASS health with no reason is flagged; health with a reason, where the policy allows it with one, is not
PASS a note about a third party is flagged
PASS a memory older than the 180-day limit is flagged with its age
PASS the plain preference is not flagged
PASS where the policy never keeps sensitive details, even a memory with a reason is flagged
PASS export from an empty folder: exit 1 on flags, the same bytes twice, no sensitive value printed
PASS policy: a complete one exits 0, a bare one exits 1 with the lines to add
PASS draft: a tutor's section with a 90-day limit, the children's line, marked DRAFT, and it passes its own lint
PASS a bad date exits 2 naming the line; categories names its source and date
selftest 16/16
THE TRIGGER TEST. The card's line was tried on Haiku, Sonnet and Opus beside 12 neighbouring skills, in a clean environment: 27/40 on its own prompts (Haiku 7/16 · Sonnet 12/16 · Opus 8/8), 0 wrong picks; no skill (answered directly) 13.
THE RUNS ARE PASTED FROM THE CARD’S OWN RECORD AS PRINTED. THE CASES ARE THE STUDIO’S OWN EXAMPLES (EXAMPLE CO IS FICTION); NO PRIVATE PERSON IS NAMED.
QUESTIONS AT THE TABLE
Asked before the wire.
What does it need from me?
Python 3; the policy (Markdown or JSON) and a sample export (JSON Lines).
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 selftest (16/16), a run on a realistic case with every command and verdict pasted into WITNESS.md as printed (Example Tutor: a four-line policy with eight gaps, five of eight stored memories flagged with every value masked, and a draft that says all ten things; 36 of 40 in the trigger test after the rewrite); and the trigger test, the card's line tried on Haiku, Sonnet and Opus beside 12 neighbouring skills: 27/40 on its own prompts, 0 wrong picks; the twelve-check audit (AUDIT.md). 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. Patterns find many sensitive details, not all, and a person reads every flag; it reads words, not practice; not legal advice.
What will it never do?
It refuses printing or quoting a sensitive value from an export; calling "as long as needed" a limit; calling the lint legal sign-off.
Who may use it?
One person, any number of their own AIs and computers; a team needs a company licence.