User-owned AI memory

One memory you own. Every AI you use.

Stop repeating project context, preferences, and decisions to every assistant. Memoars gives your AI tools the same approved memory while keeping you in control of what is learned, changed, and forgotten.

seal.rs · client-side
// on your machine
plaintext = "rotate the prod api key every 90d"
// XChaCha20-Poly1305 · fresh nonce
ciphertext = a9f3c1e08b7d4f21c6ea55b0938fd2ac
the coordinator never receives your key
How it works · the lifecycle

Follow a single memory, end to end.

From the moment your agent writes something to the moment another agent recalls it. Memory content leaves your machine as ciphertext; operational metadata needed for coordination remains visible to the service.

plaintext + your key: on your machine ciphertext only: off your machine
◆ On your machine
▨ Off your machine · ciphertext only
On your machine ◆
01
agent.write()
rotate the prod
api key every 90d

Capture

Your agent writes a memory. Still plaintext, still local.

02
seal()
7d4f21c6ea55b0938fd2ac9f3c1e08b7

Encrypted at the source

Argon2id → 256-bit key. XChaCha20-Poly1305 seals it; names become keyed-BLAKE3 hashes.

03
your-bucket/R2·S3
▪ a9f3c1e0…enc
▪ 8b7d4f21…enc
▪ c6ea55b0…enc

On your own backend

Lands in your bucket: R2, S3, MinIO, Supabase or local filesystem. Only encrypted memory content is written to your bucket.

04
coordinator⊘ blind
dev·A v13→v14 dev·B

Sync

The blind coordinator orders versions by hash and syncs your devices without ever holding your key.

05
search "api key?"
.94
.71
.55

Semantic recall

A local encrypted BGE-small-en-v1.5 vector index answers search. Decryption happens only here.

06
hash-chain log
▸ v14 ✎ dreamer
│ approved ✓
▸ v13
│ v12 …

Versioned & tamper-evident

An append-only, hash-chained log versions every change. A dreamer proposes; a human approves.

Your key never crosses into the shaded zone. Memory content is ciphertext, while organization, workspace, identity, grant, version, usage, transcript, and proposal metadata may be visible to the coordinator.

How encrypted memory flows through memoars Your agent encrypts memory content before it leaves the machine. The coordinator handles ciphertext plus operational metadata such as organization, workspace, version, grant, and usage records, then stores encrypted content on your backend. encrypt locally ciphertext encrypted content Your agent holds the key Ciphertext content sealed memoars coordinator cannot decrypt content sees operational metadata Your backend R2 · S3 · filesystem
Content confidentiality is the architecture. Memory content and transcripts are encrypted client-side. The coordinator still processes operational metadata needed for identity, grants, versions, usage, and proposals.

And then it helps you curate.

COMING SOON

On an opt-in run, the dreamer will review this lifecycle and propose what to keep, update or merge. You approve every change. Planned — not yet part of the product.

See how Dreamer works ↓
Transcriptsencrypted, in the log
Dreamerreviews, out of band
+⇄Proposesadd · update · dedup
⛨✓You approvebefore anything is applied
Better memoryfed back to your agents
When you collaborate · the blind coordinator

Local works alone. The coordinator is how a memory becomes shared.

Running memoars against your own bucket is free and complete: one agent, one machine, fully encrypted. Once a second agent, a teammate, or a second device needs the same memory, someone has to settle whose write wins, who may read it, and which version is current.

A shared bucket alone can't do that safely. Two agents racing to write will clobber each other, and access control becomes an honour system. The coordinator referees concurrent, multi-party memory while never being able to read any of it.

Concurrency that can't clobber

Compare-and-swap on version + hash. If two writers collide, the conflict reconciles and retries instead of one silently overwriting the other.

Permissions that are cryptographic

Orgs → workspaces → identities, with per-workspace read/write/propose/approve grants. Each workspace has its own passphrase, so workspace isolation is enforced by encryption as well as by the API.

Cross-device sync + attribution

Every device stays current, every change is attributed to its writer, and an out-of-band dreamer can propose updates, with a human approving before anything lands.

Dreamer COMING SOON planned · Premium

Review AI-proposed memory changes before they land.

Left alone, memory only grows by explicit writes and slowly rots as duplicates pile up and facts go stale. Dreaming proposes the cleanup — you approve it.

When you run it, a key-holding dreamer reviews a bounded set of your agents' transcripts against existing memory and works out what's worth keeping: new facts to add, entries to update, near-duplicates to merge. It never edits memory directly. It queues proposals for you to review and approve. Remote review is explicit opt-in, and this capability is not yet part of the product.

Stale entries get refreshed. Facts that changed are flagged and updated instead of quietly misleading your agents.

You review, not groom by hand. Instead of curating memory manually, you approve or dismiss a short list of suggested changes.

Guarded against memory poisoning. A human approves every proposal before it is applied. Dreamer deployments can access transcript and proposal content and must be trusted accordingly.

dreamer · proposals (3) reviewed 42 transcripts
ADDconf .93

"Prod API key rotates every 90 days" · seen in 4 sessions, not yet stored.

ApproveDismiss
UPDATEconf .88

Staging key owner infraplatform team

DEDUP3 → 1

Merge 3 near-duplicate notes about the deploy runbook into one.

the dreamer never applies changes without your approval

Bring your own storage.

Memory content is encrypted client-side before upload, so even a public-read bucket exposes only encrypted memory content.

Cloudflare R2
Amazon S3
S3-compatibleMinIO, Backblaze…
Supabase
Local filesystem

Contact

Memoars is currently an invite-only beta. Request beta access here, ask a question, or tell us about an enterprise or self-hosted deployment — we read every message.

memoars

Your storage is encrypted on your device - only you hold the key.

Questions about architecture, security, or deployment? Contact us.

Architecture Contact