ApertoMemory GitHub
Open format · IETF Internet-Draft · MIT reference implementation

Your AI knows you.
Nobody else does.

ApertoMemory is an open format for AI memory: everything your assistant has learned about you, sealed in a file that is yours - encrypted with your keys, signed, portable to any compatible tool. Switch AIs and it still remembers you.

preference.amem - sealed test-vectors/001 · Ed25519 + AES-256-GCM

Each cell is one byte of a real sealed memory from the format's test vectors - a user preference, signed and encrypted. This grid is everything a storage server ever sees of your memory.

323 bytes
one sealed memory object, signature included
2.4 KB
a complete exported vault - your memory, one file
0 readable
content, authorship, timestamps visible to the server
$ amem export my-memory.amem      # on your old machine
$ amem import my-memory.amem      # on the new one
✓ 6 objects imported - all signatures verified
Why it exists

Memory is the new lock-in.

Every AI tool builds a memory of you inside its own walls. Switching tools destroys it - a lock-in that operates on your personal data, not on price. ApertoMemory makes memory a thing you own and carry. Other portability efforts move your memory in cleartext; ApertoMemory never does.

zero-access

Encrypted before it leaves your device

Content, authorship, and semantic timestamps are sealed client-side. A sync server is a blind blob store: it cannot read, index, or correlate what it holds.

signed provenance

Every memory proves who wrote it

Objects are signed inside the encryption. Imported third-party memories are cryptographically distinguishable from your own - a built-in defence against persistent prompt injection.

portable

Your whole memory in one file

Export everything as a single .amem file - a complete vault fits in kilobytes. Import it into any compatible tool and every signature verifies.

open standard

A protocol, not a product

A CDDL schema, machine-readable test vectors, an MIT reference implementation, and an IETF Internet-Draft (draft-ferro-apertomemory). Anyone can implement it; no company controls it.

How it works

Seal. Carry. Open.

01 · seal

Sign, then encrypt

A memory is signed with your Ed25519 key, then encrypted under a single-use key wrapped to your identity. Keys derive from one passphrase; per-scope keys keep your coding tool out of your personal memories.

02 · carry

One file, anywhere

Export your entire memory as one .amem file. New device, new AI tool - with your passphrase, everything opens.

03 · open

Your AI already knows you

Through the MCP adapter, Claude Desktop and Claude Code read your vault directly. Import on a fresh machine, ask a question - the answer already fits you.

Get it

Install in ten seconds.

# install - CLI: amem, format: .amem
$ pip install apertomemory

# with the MCP adapter for Claude Desktop / Claude Code
$ pip install "apertomemory[mcp]"
For implementers

Building a compatible tool?

Start from the CDDL schema and the test vectors. If your implementation opens testvector-001 and verifies its signature, you are interoperable. Questions and spec review belong in the issues.