CHROME EXTENSION

The extension brings ChainMemory into the web chats you already use. It saves AI responses as memories encrypted in your browser, injects the memories you choose into a new conversation, and injects your project's Brain — the overview, or everything needed for one task.

Installation

  1. Go to the Chrome Web Store
  2. Click "Add to Chrome"
  3. The ChainMemory icon appears in the extensions bar
  4. Click the icon and choose how to start: "Create your API key and wallet (free)", or "Paste your API key" if you already have one
  5. Activate your blind vault: "Generate my 12 words", write them on paper, and type them back to confirm. If you already have a phrase, choose "I already have 12 words"
  6. Claim free AIC at the faucet so you can save and inject
Two things nobody can recover for you Your API key is your identity and your access: save it in a password manager the moment it is created. Your 12 words are the only way to open your memories: keep them on paper. Lose the key and you lose access; lose the words and nobody, ChainMemory included, can read what you sealed with them.

Your keys

The extension accepts three kinds of key:

PrefixWhat it isWhere it comes from
aic_Personal key. Owns its wallet and pays its own feescreated by you, here or through the API
aicm_Member key. Works inside an organization, under your member identity and roleissued by your organization's administrator
aicp_Project key. Like a member key, restricted to one projectissued by your organization's administrator

With an organization key, fees are paid from the organization's balance, everything you save is attributed to your member identity, and your role decides what you can do: a viewer can read and inject but not save, and the extension says so in plain words. See Organizations.

Save Memories

From any supported AI chat, the extension adds a Save bar under each of the model's responses. One click encrypts that response in your browser, with a key derived from your 12 words, and saves it as a memory. ChainMemory receives and anchors a blob it cannot read.

Found by meaning, without being read

Before the text is encrypted, the extension computes its search vector on your device, with ChainMemory's own search engine, and sends it along with the blob. That is what lets your sealed memories be found by meaning later. The search model is downloaded once from models.chainmemory.ai and checked against its SHA-256, which is anchored on ChainMemory's chain, every time it is loaded. If the vector cannot be computed, the memory is still saved sealed — never in plain text — and the extension tells you it will not appear in search.

What it costs, before you click

The bar shows the estimated cost before you save — for example Save · 0.0074 AIC — and the confirmation reports what was stored. Saving costs a 0.001 AIC protocol fee plus on-chain storage, which grows with length; see Costs.

Responses are saved in full. The ceiling is what fits in one network transaction: 20,000 bytes of encrypted content. That is about 20,000 characters of plain ASCII text, but fewer when the text uses accents, emoji or non-Latin scripts, since those take 2 to 4 bytes each. If a response does not fit, the extension tells you instead of cutting it.

Rescue your history

You don't have to start from zero. Open a past conversation in ChatGPT, Claude or Gemini, scroll so the older messages load, and the Save bar appears on each response just as it does on a live chat. Knowledge you accumulated before installing ChainMemory becomes portable memory from day one.

On Perplexity, only the most recent response Perplexity re-renders its page continuously, so the extension keeps a single Save button at the end of the conversation rather than one per response. Saving older responses there is not supported yet.

Organizing what you saved

The extension popup organizes your memories. From there you can filter by project, add or remove tags on individual memories, tag several at once, and archive what you no longer want to see. Archived memories stay on record and remain verifiable; they simply stop appearing in lists and injections.

Each saved memory receives:

  • Cryptographic fingerprint — its event_hash, computed in your browser from the text, so anyone can verify later that it was not altered without seeing its content. Do not confuse it with the Project State hash, which is SHA3-256 domain-separated with CM_PROJECT_STATE_V<schema_version>
  • Sequential number within your account (#1, #2, #3...) — your own numbering, not a global one
  • Tags for organization, assigned by you or matched automatically against your projects' keywords
  • Category (decision, learning, milestone, error, state, interaction, or custom — the default when none is given)
  • Timestamp of the moment of saving
  • On-chain anchoring of the encrypted content

Inject Context

Before starting a conversation with any AI, ChainMemory can inject the context you choose into the chat input, so the new conversation begins with what previous ones established.

How it works

  1. Click the floating "Inject memory" button on any supported platform
  2. The panel lists your memories, filterable by project, with an estimated token count each. Sealed memories are opened in your browser with your 12 words; the server never sees their text
  3. Select the ones you want and confirm
  4. The text is inserted at the top of the chat input. If the platform's input cannot be detected — rare, and it happens when a platform changes its HTML — the text is copied to your clipboard instead

Injection is optimistic: the text arrives immediately and the on-chain payment confirms in the background. It costs 0.1 AIC per injection, regardless of how many memories you selected, up to 50. If your balance is short, the panel offers to top up at the faucet before charging you.

Price it first Through the MCP server or the API you can call quote_inject to see the exact cost, which ids exist and whether your balance covers it — at no charge — before paying for the injection.

Project Brain from the extension

One click injects your project's Brain into the chat: not a pile of memories, but the consolidated state built from them, written by ChainMemory's server by relevance and within the size of the chat's input box. Injecting it is free. At the top of the panel, choose what to inject:

  • Overview: what changed, risks, priorities — what changed since the last time you injected that project, open risks (high first, with the priorities that mitigate them and the high risks nobody mitigates), active priorities, recent decisions and milestones, open questions, and each constraint as a one-line rule. The extension remembers, per project and only in this browser, which version you injected last
  • One task — pick one of your active priorities and the extension injects everything needed to work on it: the priority in full with its completion criterion, the risks it mitigates, everything else in the Brain that mentions it, and every work rule and constraint

Both open with the Brain's on-chain anchor — block and anchor id — so the model receives the proof along with the content.

Safe to paste, by default

What the extension injects is public by default: addresses, ports, server paths and security rules are withheld and counted before the text reaches the chat, and how a project's AIC are safeguarded is never included.

With a personal aic_ key, an Include sensitive data box appears under the button. It is off every time the panel opens. When you tick it, the extension shows you exactly which lines would go out and to which site, and nothing is injected until you choose "Approve this time". ChainMemory logs every such request: a fingerprint of your key (never the key), the project, the version, the client and the number of sensitive lines. Member and project keys never see the box; the server refuses them that level.

Optional PIN In Settings → Sensitive data PIN you can set a PIN that is asked before every approval. It is stored only in this browser, as a salted hash, and never sent anywhere. Changing or removing it requires the current PIN, and five wrong attempts lock approval for five minutes.
The extension reads the Brain; it does not build it Consolidating memories into a Project State is done by an AI model through the MCP server or the API — that is the "client consolidates, chain verifies" architecture. Set the project name in Settings → Project Brain; there is no default. The full history — superseded decisions, closed risks, metrics, environment — stays in the Project State and travels through the MCP server or the API.

Supported Platforms

The extension injects its buttons into these four platforms:

  • ChatGPT — chatgpt.com and chat.openai.com
  • Claude — claude.ai
  • Gemini — gemini.google.com
  • Perplexity — perplexity.ai (saving limited to the most recent response)
Other clients, through the MCP server The extension is one of three access methods, and it covers web chats. Any MCP-compatible client reaches the same account and the same memories without the extension: Claude Desktop, Cursor, Hermes Agent and OpenClaw among them. See MCP Server.

Permissions the extension requests, and why:

PermissionWhat it is for
storagekeep your API key, your vault and your settings
clipboardWritefallback when a platform's input box cannot be detected
offscreencompute a memory's search vector in a hidden extension page, so the text can be encrypted before it leaves the browser and still be found
access to the four platformsinsert the Save bar and the memory panel into the page
access to chainmemory.ai, api.chainmemory.ai, faucet.chainmemory.aitalk to the API and open the faucet

The search engine runs as WebAssembly built from code packaged in the extension, which is why its security policy allows wasm-unsafe-eval; no remote code is loaded. The search model is public data, downloaded without any extra permission.

Where your data lives

  • Your 12 words and your PIN stay in this browser (chrome.storage.local, not synced) and are never sent to ChainMemory
  • Your API key is stored in chrome.storage.sync, which Chrome syncs across the browsers signed into your Google account
  • What is not encrypted, because search and organization need it: each memory's tags, project, category, platform, dates and length, and its search vector — numbers computed from the text that cannot be turned back into it, but that do reflect what it is about. See Blind Vault

No analytics, no telemetry, no ads.