MemChain and Blind Vault: What They Store and What They Don't
MemChain keeps Nyxi AI memories encrypted on your device and, only while memory is on and the VPN is connected, sends a best-effort encrypted copy to the connected node. Blind Vault is implemented in the node but disabled by default and unused by the app; AeroNyx offers no backup or storage product.
MemChain is the memory system behind Nyxi AI. It is off by default; when you turn it on, memories are encrypted and stored on your device first, and a best-effort encrypted copy goes to an AeroNyx node only while you are connected to the privacy network. Blind Vault is a separate encrypted object store in the node software. It is disabled by default and the official app does not use it. AeroNyx does not offer a backup or cloud storage product.
At a glance
| Component | Where it runs | Status today | What it holds |
|---|---|---|---|
| MemChain on your device | The AeroNyx app | Available. Off until you turn on memory | Encrypted memory records and their metadata |
| MemChain copy on a node | The node your VPN connection uses | Best-effort. Only while memory is on, the VPN is connected and that node accepts sealed records | Ciphertext plus the metadata listed below |
| Legacy MemChain append-only file | Node | Older format kept for compatibility | Fact and Block records, which can contain fields the node can read |
| Record-commitment ledger | Nodes | Frozen since 2026-07-13 | Signed commitments only, never memory content. See Signed commitment ledger |
| Blind Vault | Node software | Implemented, disabled by default, not used by the app | Nothing in production use |
MemChain on your device
Memory stays off until you turn it on in the app. While it is off, the app forms no memories and sends nothing to a node.
When memory is on, the app keeps each completed Nyxi AI conversation turn and may extract short facts from it, such as a preference or an upcoming appointment.
- Extraction is not private from AeroNyx. To extract facts, the app sends the turn text through the AeroNyx backend to the AI model. This is the same path that Nyxi AI conversations use. It is not end-to-end encrypted.
- Storage on the device is encrypted. Each record is sealed with AES-256-GCM. The key is derived from your P2P identity key and is never stored or sent anywhere. The local database holds ciphertext plus the record's timestamp, layer, source model, tags and project label. Plaintext exists only in memory while the app is unlocked and using it.
- Recall is local first. The app searches its own copy, which also works offline. It asks a node only while its local copy is still being filled.
- Deleting is local first. When you ask the app to forget something, it deletes the local record. If you are offline, it queues the node deletion and sends it the next time you connect.
Because the key comes from your identity key, anyone holding that key can decrypt your memories. If the key is lost and cannot be restored, nobody can decrypt them, including AeroNyx.
The optional copy on a node
The app tries to send a copy of each new record to a node only when all of these are true:
- Memory is on.
- The VPN (privacy network) is connected.
- The node you are connected to accepts sealed records. This is off by default in the node software.
The request goes inside the encrypted VPN tunnel to the node's MemChain API at the tunnel address. The node sees your VPN virtual address, not your public IP. Each record is signed with your P2P identity key so the node can check who owns it.
What the node can and cannot see:
| Item | Visible to the node? |
|---|---|
| Memory content (conversation text, fact text, timestamps inside the record) | No. Only AES-256-GCM ciphertext |
| Your P2P identity public key (record owner) | Yes |
| Record timestamp, memory layer, source model name | Yes |
| Topic tags (for extracted facts: lower-case names of the people or things the fact is about) | Yes |
| Project label of an extracted fact | Yes, when the fact has one |
| Search tokens | Keyed HMAC tokens. The node cannot reverse them, but it can see when the same token appears again |
| Embedding vectors | No. Vectors stay on the device |
This copy is best-effort. If the upload fails, the app ignores the error, and the copy on your device remains the authoritative one. The node does not replicate your records to other nodes. The copy is not a backup, and AeroNyx makes no promise to keep it. For data handling commitments, see the Trust Center.
The node-side MemChain store
A node keeps MemChain data in two places:
- Sealed records go into the node's SQLite database (
memchain.db), opened in WAL mode withsynchronous = NORMAL. The node stores the ciphertext and metadata above. It cannot decrypt the content. - The legacy append-only file (
.memchain) holds older Fact and Block records in a length-prefixed format. Each record is limited to 10 MiB. Fact fields in this file can be readable by the node, so it must not be described as a ciphertext history.
Operators can check the legacy file without printing any of its contents:
sudo aeronyx-server memchain verify-aof --config /etc/aeronyx/server.toml
The command reports only aggregate counts and exits with an error if it finds an incomplete tail. It does not read the sealed-record database or the commitment ledger.
Blind Vault
Blind Vault is a node component for storing client-encrypted objects under anonymous, self-authenticating leases. A client gets a lease by redeeming a one-time credential, and the node stores only ciphertext in its own SQLite database. It never shares that database with MemChain or chat.
Current status:
- It is disabled by default (
[blind_vault] enabled = falseandpublic_api_enabled = false). - The official app does not use it, and the AeroNyx backend does not issue Blind Vault credentials.
- It is not a backup or storage service. Do not rely on it for any of your data.
The admission credentials are described in Blind-signed vouchers and anonymous access credentials.
Crash recovery
| Store | After a process crash or restart | After sudden power loss | On corruption |
|---|---|---|---|
Node sealed-record database (SQLite WAL, NORMAL) | Committed writes survive | The most recent commits can be lost | SQLite integrity rules apply |
| Legacy append-only file | An incomplete final record is truncated when the file is reopened, and the repair is synced to disk | Recent appends can be lost, because writes are flushed but not fsynced | A complete record that fails validation stops startup. The file is kept for investigation, not truncated |
Blind Vault (SQLite WAL, NORMAL) | Committed objects and leases survive. Retrying the same write is idempotent | The most recent commits can be lost | SQLite integrity rules apply |
Recovery restores only what is on disk. It cannot recreate a lost identity key or content key, and it cannot recover a node copy that was never uploaded.
What this page does not claim
- AeroNyx does not offer encrypted backup or cloud storage.
- Memory extraction is not end-to-end encrypted from AeroNyx.
- The node copy is not replicated and is not guaranteed to be kept.
- Neither MemChain nor Blind Vault is a blockchain or provides global consensus.
Frequently asked questions
Does AeroNyx store my Nyxi memories on its servers?
The encrypted memory store lives on your device. A node gets an encrypted copy only while memory is on, the VPN is connected and that node accepts sealed records. Separately, the text of a turn passes through the AeroNyx backend when facts are extracted from it, in the same way as Nyxi AI conversations.
Can a node operator read my memories?
No. The operator cannot read memory content, because the node stores only AES-256-GCM ciphertext and never receives the key. The operator can see some metadata: your P2P identity public key, timestamps, memory layer, source model, topic tags, project labels and keyed search tokens.
Does connecting the VPN upload my memories?
Only if memory is turned on. With memory off, nothing is formed or uploaded. With memory on, new records are copied to the connected node on a best-effort basis, and only if that node accepts sealed records.
Is Blind Vault a backup for my chats or memories?
No. Blind Vault is disabled by default in the node software, the official app does not use it, and AeroNyx offers no backup or storage product.
What happens if I lose my identity key?
Your memories can no longer be decrypted by anyone. The memory key is derived from your P2P identity key. If you cannot restore that key, neither the device copy nor a node copy can be opened.
<!-- faq:end -->