Text version of the 19 slides. Status labels: shipped means verified in the current product; in development means code exists but is not released or proven; planned means designed but not built; hypothesis means an assumption not yet tested; historical means true once and no longer current.
Inkfold
Inkfold
Technical view of Inkfold, project memory for artificial-intelligence coding tools: how it is built, how data is handled and what is proven so far.
Architecture
Architecture at a glance
- shipped Web application
- The screen people use, with Inkfold's own service behind it for teams, themes and connectors. React in the browser; Node.js with Fastify on the server.
- shipped FusionLayer engine
- A separate product: sign-in, memory storage and retrieval, model calls and plan rules. Inkfold calls it over signed, encrypted web calls.
- in development Local runtime
- A program on the person's computer that watches supported tool files, recalls context and writes briefs into project files. Development preview.
- in development Desktop client
- A Windows application that hosts the interface, supervises the local runtime and adds an on-device index. Unsigned tester build.
Technology
Technology stack
Main technologies by part, as of 24 September 2026.
| Part | Main technologies | Status |
|---|---|---|
| Web application | React 18, Vite 6, Radix components, Zustand state, React Router 7, Monaco editor, tldraw whiteboards | shipped |
| Browser encryption | The browser's built-in WebCrypto; Argon2id key derivation through the hash-wasm library | shipped |
| Inkfold service | Node.js 22.19 or newer, Fastify 5, Zod input validation, rate limiting, WebSocket, jose token checks, otplib two-factor codes | shipped |
| Local runtime | Background program (daemon), command-line client and Model Context Protocol server from the engine | in development |
| Desktop client | Electron 44, electron-builder 26, keytar, sodium-native (libsodium), bip39, electron-updater | in development |
Web application
Web application
A React application in the browser. Statuses as of 24 September 2026.
| Area | What it does | Status |
|---|---|---|
| Chat, own keys | Provider keys decrypted in the browser, held in tab memory only | shipped |
| Import | Exported chats from ChatGPT, Claude, Gemini, Copilot and Grok, or pasted text | shipped |
| Memory Center | Library, revisions, review inbox; a receipt under each answer | shipped |
| Export and delete | Data export and account deletion in Settings | shipped |
| Themes | 49 themes, each checked for contrast | shipped |
| One-click correction | Mark a memory wrong, outdated or only for this project, with a reason | in development |
| Memory home | Memory as the home screen; compares a repository's instruction files with memory | in development |
| Connectors | Google and Microsoft services; catalog built, not yet switched on | in development |
Inkfold service
Inkfold service and interfaces
A standalone Node.js service. It reaches the engine only over signed web calls.
| Interface | How it works | Status |
|---|---|---|
| Browser to service | Encrypted web calls from the web application | shipped |
| Service to engine | Signed, encrypted calls; session tokens signed by the engine, checked with its public keys | shipped |
| Service routes | Teams, themes, whiteboards, tester intake, connectors | shipped |
| Input control | Input validation, rate limiting, content security policy | shipped |
| Safe start | Refuses to start in production with missing or mixed settings | shipped |
| Model providers | The person's own keys: OpenAI, Anthropic, Google, DeepSeek, Mistral, xAI and others | shipped |
| Coding tools | Model Context Protocol, hooks and generated project files | in development |
| Desktop to runtime | The local runtime answers all 86 commands the desktop client sends | in development |
Memory and context
Memory and context path
How one memory is written, found, shown and corrected. The engine owns the store.
- Enter shipped Exported chats and pasted text enter memory through the web application.
- Store shipped The engine keeps a memory record: summary, scope, source tool, sources, trust and revisions.
- Retrieve shipped Each request retrieves relevant memories; a receipt under the answer lists those used.
- Correct and deliver in development Corrections are recorded with a reason; in Smart mode a brief goes to the next tool's files.
Automatic capture from tool files feeds the same store; it is in development.
Data model
Data model
What a memory holds and where data rests, as of 24 September 2026.
| Element | What it holds | Status |
|---|---|---|
| Memory record | Summary, body, topics, scope, source tool, sources, trust, confidence, revision | shipped |
| Use fields | Use count and last use per memory; the receipt lists the memories used per answer | shipped |
| Storage mode | Smart, Private or Incognito, chosen per conversation | shipped |
| Object storage | Files in object storage; Pro and Team plans can bring their own bucket | shipped |
| Export and delete | Data export and account deletion from Settings | shipped |
| Desktop index | Encrypted on-device index over folders the person adds | in development |
Capture and delivery
Capture and delivery
How context reaches other tools. Content goes into project files only in Smart mode.
| Mechanism | What it does | Status |
|---|---|---|
| Tool registry | 38 tools: 37 at preview level, 1 blocked; none verified yet | in development |
| Capture | Reads supported tools' local session files; formats can change | in development |
| Recall | Search memory from inside a tool over the Model Context Protocol | in development |
| Context brief | One per detected tool, written in Smart mode only | in development |
| Private and Incognito | The writer leaves a content-free notice instead of a brief | in development |
| Converter | Copies context between five file formats; not yet published | in development |
| AGENTS.md delivery | Not yet a target of the automatic writer | planned |
Tool coverage
Tool coverage matrix
No cell is shipped. In development means a preview, not verified on a clean machine.
| Tool | Capture, Windows | Capture, macOS and Linux | Recall | Injection |
|---|---|---|---|---|
| Claude Code | in development | in development | in development | in development |
| Codex command-line tool | in development | in development | in development | in development |
| Gemini command-line tool | in development | in development | in development | in development |
| Cursor | in development | in development | in development | in development |
| Copilot in Visual Studio Code | planned | planned | in development | in development |
| JetBrains editors | in development | in development | in development | in development |
| Zed | Not available | in development | in development | in development |
| Google Antigravity | planned | planned | Not available | Not available |
| iPhone and Android | planned | planned | planned | planned |
Inkfold Desktop
Desktop client architecture
- shipped Electron shell
- A sandboxed interface with one typed bridge into the main process; keys never enter the interface. Windows only.
- shipped Interface snapshot
- A pinned copy of the web application from 9 August 2026; newer web features arrive when the copy is refreshed.
- in development Runtime and index
- Bundled command-line client, Model Context Protocol server and daemon, plus an encrypted on-device index.
- shipped Identity
- A keypair made on the computer; a 24-word recovery phrase shown once and not stored; keys in the operating system's secure storage.
Inkfold Desktop
Desktop client status
An early tester build. Vaults, device sync and file sharing are not built yet.
| Capability | Status | Note |
|---|---|---|
| Windows tester installer, version 0.1.0 | in development | Unsigned; per-user install |
| Anonymous identity and recovery phrase | shipped | 24 words, shown once |
| Runtime supervision and restart after a crash | in development | Not yet in the tester build |
| On-device index: 'Ask about these files' | in development | No model call today |
| Secret redaction before prompt shaping | in development | 13 patterns; not connected |
| Vaults, two-device sync, shares, team vaults | planned | Not built |
| macOS and Linux builds | planned | No build target yet |
Status labels: shipped means verified in the current product; in development means code exists but is not released or proven; planned means designed but not built; hypothesis means an assumption not yet tested; historical means true once and no longer current.
Security and privacy
Security and privacy design
Each row names its mode or area. The next slide follows content through each mode.
| Area | Design | Status |
|---|---|---|
| Sign-in and sessions | Google, GitHub or email sign-in; two-factor authentication; invite-only; engine-signed session tokens | shipped |
| Provider keys | Stored encrypted; decrypted in the browser and held in tab memory only | shipped |
| Smart mode | Encrypted at rest with a key the service holds; Inkfold can read it | shipped |
| Private mode | Encrypted in the browser; only ciphertext is stored | shipped |
| Incognito mode | Nothing is written to any persistent store | shipped |
| Guard rails | Rate limiting, content security policy, secret scanning of code, a guard between Inkfold and engine data | shipped |
| Independent assessment | Not yet done for the whole product; no certification is claimed | planned |
Data flows
Storage modes and data flows
Every row names its mode. The remote-model step applies in every mode.
| Mode | What happens to content | Who can read it | Status |
|---|---|---|---|
| Smart (default) | Encrypted connections; encrypted at rest with a server-held key; indexed | Inkfold can read it | shipped |
| Private | Encrypted in the browser; ciphertext only at rest; in server memory during a request | Not Inkfold at rest | shipped |
| Incognito | Nothing is written to any persistent store | Nothing persists | shipped |
| Any mode, remote model | The text needed for the request goes to the provider the person chose | The chosen provider | shipped |
| Local only (desktop) | Answers come from the on-device index; no model call is made today | Only the device | in development |
Advanced Encryption Standard, Galois/Counter Mode, 256-bit keys; Private mode keys come from the person's phrase via Argon2id.
Testing
Testing evidence with numbers
Recorded results with dates. Tests show engineering quality, not demand.
| Suite | Result | Recorded |
|---|---|---|
| Web application tests | 2,676 passed | 22 September 2026 |
| Service and shared package tests | 2,023 and 1,472 passed | 13 September 2026 |
| Desktop tests | 332 passed | 22 September 2026 |
| Theme contrast checks | 194 checks across 49 themes passed | 13 September 2026 |
| End-to-end specifications | 30 files | 24 September 2026 |
| Guard checks | 16 checks that fail the build on a broken rule | 24 September 2026 |
| Tester reports | 12 filed, 18 August to 5 September 2026; all closed | 24 September 2026 |
| Not yet tested | Two-tool journey on a clean machine; real-account latency | planned |
Release
How changes are checked and released
Automated checks run on each proposed change. Desktop releases have stricter gates.
- Proposed change shipped Unit tests, start-up checks and the web build run automatically; guard checks fail the build on a broken rule.
- Service release shipped Each released version is kept unchanged; database changes are verified before they are applied.
- Safe start shipped The service refuses to start in production when settings are missing or mixed.
- Desktop release in development Needs a signed build plus clean install, uninstall and start-up evidence before publishing; none has passed yet.
Design decisions
Design decisions and trade-offs
Recorded decisions with their dates and what each one costs.
| Decision | Date | Trade-off |
|---|---|---|
| Smart as default; Private and Incognito free on every plan | 28 April 2026 | Private gives up server-side indexing |
| Inkfold as its own product; the engine as a dependency | 9 May 2026 | Two products share one engine |
| A focused beta for 15 to 30 serious users | 15 June 2026 | No open sign-up |
| Desktop interface as a pinned web snapshot | 9 August 2026 | New web features wait for a refresh |
| One Inkfold mobile app, later | 25 August 2026 | No native apps yet |
| Decrypted provider keys in tab memory only | 26 August 2026 | Keys are decrypted again after a reload |
| Lead with project memory for coding tools | 13 September 2026 | Multi-model chat is no longer the lead |
Release gates
Engineering steps and release gates
A proposed order without fixed dates. Each gate must pass before the release it guards.
in development Now
- Release the memory-first web build
- Package the desktop runtime fixes
planned Next
- Verify one two-tool journey on a clean machine
- Compare with a shared project file
planned Before a paid web launch
- Billing checked end to end
- Permissions, consent, export and delete verified
- Latency benchmark passes
planned Desktop gates
- Signed Windows release
- Clean-machine install evidence
- Vaults and sync built, with an external review of the vault format
Glossary
Terms used in this presentation
| Term | Meaning |
|---|---|
| Model Context Protocol | An open standard that lets artificial-intelligence tools call outside tools and memory. |
| Local runtime | A program on the person's computer that watches supported tool files and writes briefs. |
| Context brief | A short summary of remembered decisions, written into a file a coding tool reads. |
| Smart, Private, Incognito | Storage modes: readable by Inkfold, encrypted in the browser, or not kept. |
| Ciphertext | Encrypted content that cannot be read without the key. |
| Advanced Encryption Standard | A widely used encryption method; here with 256-bit keys. |
| Argon2id | A method that turns a person's phrase into an encryption key and makes guessing slow. |
| Clean machine | A fresh computer with nothing preinstalled, used to verify an installation end to end. |
| Status words | Shipped: verified in the code. In development: not yet proven. Planned: not built. Hypothesis: not yet tested. |
Inkfold
Project memory for artificial-intelligence coding tools, built on the FusionLayer engine.
A focused private beta with invited volunteer testers: inkfold.app
Facts as of 24 September 2026. Status labels: shipped, in development, planned, hypothesis.