Security & data

Where your memories are stored,
and where they are sent.

ASR does not claim that every memory is encrypted. We spell out what is protected, what is sent outside, and how deletion works — separately.

Know the scope first

Regular memories and secret memories are handled differently.

Regular memories

Memories used for search

Protected by TLS in transit and stored in the database as an original-text column. The operator can read them with service-level access.

`secret_*` memories

Values encrypted separately

Stored with CipherStash. No embedding or classification is run on them, so they are never sent to outside AI vendors. The key name may still be recorded.

01 · Sent outside

By default, some memory content goes to outside AI services.

This is needed for search and automatic classification. You can turn it off in settings or switch to Ollama, but search quality and features may change.

Embedding

Full original text → OpenRouter

To build the search vector, the default setting sends the full original text of the memory.

Classification

Summary or opening text → Google Gemini

To create tags and a drawer, it sends the summary if there is one, otherwise the beginning of the original.

Configurable

Switch each path to `none` or Ollama

This reduces what leaves ASR, but meaning-based search and automatic classification may be limited.

02 · Access and ownership

Every memory records its owner and its author.

Sharing a record never erases who it belongs to.

Each memory carries its user and its speaker. Even when several AIs use the same space, this is what tells you who left it and whose memory it is.

MCP connection keys and permissions should be managed per tool. Only what you saved to ASR carries over — each tool's internal chats and built-in memory are not opened up automatically.

03 · Deployment gate

If the checks don't pass,
it doesn't ship.

We tie what we write in our documents to the rules that actually govern each release. Account boundaries and tool metadata are checked again on every deployment.

DEPLOYMENT GATEREQUIRED BEFORE RELEASE
  • Cross-account access tests18 TESTS
  • Family-space isolation testPASS
  • Scope filter on the memory table0 MISSING
  • String-typed arguments16 / 16
  • Tool read · write · destructive hints22 TOOLS
IF ANY CHECK FAILSDEPLOYMENT STOPS