THE INTRO CARD is free — what an AI skill card is and how to use one Download →Lost Lauren, contact us

THE INSTRUMENTS · Nº 964 · EDITION 1 · LAUNCHING SOON

LUND CARDS · THE INSTRUMENTSNº 964
THE MEMORY POLICY CARD — the LSC-1 face
THE CARD AS TEXT · FOR EYES AND FOR MACHINES

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

  1. draft --product … --kind … --retention-days N — a starting section, every line a choice.
  2. policy POLICY.md — the gaps, each with a line to add.
  3. export MEMORIES.jsonl --policy POLICY.md --as-of DATE — the flagged memories, values masked.
  4. 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

THE FACE, FULL SIZE → · THE MACHINE FACE → · card.json →

THE MEMORY POLICY CARD

the memory seat · what an AI may keep about people, and for how long

POLICY · EXPORT · DRAFT · CATEGORIES

96LEGENDARYWITNESSEDIN CLAUDEIN LUNDRIN CHATGPT

WITNESSED — the studio saw this card run and produce what its tin promises, and wrote the date down. What the marks mean →

THE SPEC SHEET · READ BEFORE YOU BUY · THE STANDARD EVERY CARD MEETS →

SEAL
96 of 100 · LEGENDARY · WITNESSED
EDITION
E1 · witnessed 2026-10-13
MACHINE
scripts/memorypolicy.py · 4 commands · selftest 16/16
RUNS
On your own computer. Standard library only, offline; no account, no key, no telemetry.
HOSTS
Claude · Claude Code · ChatGPT · Gemini · any AI that reads a file (HOSTS.md names each door)
LICENCE
One person, any number of their own AIs and computers · editions replace files · nothing renews · freeze, not loss
PUNCH
4C7FDE1BB89DAE671E109352 · sha-256 of SKILL.md · check any file against it →

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.

  1. draft --product … --kind … --retention-days N — a starting section, every line a choice.
  2. policy POLICY.md — the gaps, each with a line to add.
  3. export MEMORIES.jsonl --policy POLICY.md --as-of DATE — the flagged memories, values masked.
  4. 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 · NOTHING RENEWS ITSELF

OFFLINE · ONE LICENCE · PUNCH-CHECKABLE · THE STANDARD

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.

One email when it is on sale, from the studio; nothing else, ever.

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.

policylint a written memory policy; every gap with a line to add
exportscan a sample export of stored memories against the policy, values masked
drafta starting memory section, every choice marked
categoriesthe sensitive categories and where the list comes from
selftest16 checks that prove the machine; it must print 16/16
python3 scripts/memorypolicy.py policy tutor-memory-policy.md
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.
python3 scripts/memorypolicy.py export tutor-memories.jsonl --policy tutor-memory-policy.md --as-of 2026-10-13
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.

← THE INSTRUMENTS · THE FLOOR →

AT YOUR ELBOW, NEVER THE BOSS · NOT LEGAL, MEDICAL, TAX OR FINANCIAL ADVICE · NOT A PAYMENT CARD · © 2026 LUND STUDIO LLC

PAY BYAmerican Express Apple Pay Diners ClubDiscoverGoogle Pay Mastercard PayPalShop Pay Visa
CART · 0