Engrym — Privacy Policy
Controller: RTK AI Labs Ltd, a company registered in England and Wales under company number 17179962 ("RTK AI Labs Ltd," "we," "us," "our"), provider of Engrym (the "Service"). Registered office: 66 Paul Street, London EC2A 4NA, England.
Last updated: 11 July 2026
Applicable regime: RTK AI Labs Ltd is established in the United Kingdom, so processing is primarily governed by the UK GDPR, and by the EU GDPR for users in the European Union.
Scope: the Free and Solo Builder tiers. The Team tier is shown in-product as "coming soon" and is not purchasable; this policy does not describe capabilities that are not yet available.
1. Data we collect
1.1 Account data
Your email address; your password (held by our authentication provider as a salted hash — we never see or store it in plaintext) or, where you choose social sign-in, your GitHub or Google sign-in identity; and the authentication identifiers used to create and secure your account. Password reset and email verification run through the same authentication provider by email.
1.2 Content data
- Documents you create or import (markdown with optional frontmatter).
- Atoms extracted from your Documents — decisions, conventions, constraints, and context entries.
- Reconciliation Verdicts (upheld / violated / uncertain) and their Evidence Pointers — short
path:linelocator strings that point to a place in your code, and never contain code text. - Intents and sessions — coordination metadata about your Project work.
- Imported media and attachments that accompany Documents you import.
1.3 Billing metadata
Customer and subscription identifiers, subscription status, and the email associated with billing. We do not receive or store your full card number — card data is held by our payment processor.
1.4 Provider keys
If you configure your own AI provider key (a "bring your own key" or BYOK key), we store it only as ciphertext. Your key is encrypted at rest using strong, industry-standard encryption, is never stored in plaintext, and is used only momentarily, in memory, to dispatch a request on your behalf (see Section 4). If your Project runs in agent mode (Section 3c), no provider key is required at all — and we never receive the credentials of your AI subscription.
1.5 Server-side operational logs
Our API emits one structured log line per request: a request identifier, the HTTP method and path, the response status, the request latency, and — for authenticated requests — your user, Project, and API-key identifiers. Authorization headers, cookies, API keys, and idempotency keys are always redacted before any log line is written, and request bodies are not logged by default, so your Document and Atom content does not enter the request logs. These logs stay within the logging facilities of our hosting providers (Section 3a); no separate error-monitoring or telemetry service receives them.
1.6 Analytics — none
We currently run no analytics on the landing site or the dashboard: no page-view analytics, no advertising cookies, no tracking pixels, no session recording, and no third-party error-telemetry. If we introduce analytics later, we will update this policy first and keep it privacy-preserving.
1.7 Newsletter
If you subscribe to our newsletter, we collect your email address and your consent state through a double opt-in (a confirmation email, then your click to confirm), together with delivery signals such as bounces and complaints. We use our email provider for the newsletter only; we do not route account or billing email through it.
1.8 Supporters-wall opt-in (Founding Supporters only)
If you are a Founding Supporter (Terms, Section 5.5) and you explicitly opt in — at checkout or from your account settings — we store a minimal record of that consent: your user id, the display name shown for you (your account's display name, or "Anonymous" where none is set), and the moment you opted in. Nothing else. This record exists solely to render the public supporters wall, which displays the opted-in display names of current Founding Supporters and nothing else — never an email address, never payment data, never any subscription identifier. If you do not opt in, no record is created and you are never named. Withdrawing (from your account settings, at any time) deletes the record outright; deleting your account deletes it automatically. The lawful basis for this processing is your consent, which you may withdraw at any time with effect for the future.
2. Data we explicitly do NOT collect — the central guarantee
We do not collect your source code, in any form.
Engrym never reads, stores, embeds, indexes, caches, or persists any representation of source code — no file contents, no abstract syntax tree, no call graph, no import graph, no file tree, no snippet, and no code text in a Reconciliation Verdict beyond a
path:lineEvidence Pointer.
Reconciliation is performed by your own AI agent, running in your environment, which already holds your repository. Your agent reads the code transiently and returns only a verdict and a path:line pointer. We receive the verdict; we never receive the code.
We also do not store your full card number (this is held by our payment processor), we do not store your provider key in plaintext, and we never receive the credentials of the AI subscription your own agent runs on.
3. Where your data goes
3a. Core platform processors
We use the third-party processors below to provide the Service. Each processes the categories of personal data described, for the stated purpose, in the stated region.
| Processor | Personal data it processes | Purpose | Region |
|---|---|---|---|
| Supabase | Account identity (email, authentication identifiers), Documents, Atoms, Reconciliation Verdicts and path:line Evidence Pointers, intents, sessions, billing metadata, encrypted provider-key ciphertext, imported media. No source code. | Database, authentication, real-time sync, and storage (our system of record). | European Union (AWS eu-west-1, Ireland) |
| Vercel | HTTP requests and responses for the dashboard, landing site, and API, including session cookies and content in transit; server-side request logs (Section 1.5). | Hosting for the dashboard, landing site, and API. | Compute pinned to the European Union (Dublin); static assets served from Vercel's global edge network. Vercel is a US company. |
| Fly.io | MCP connector traffic (your agent's requests and responses, including Document and Atom text in transit), extraction work-queue data, Git-export payload (Documents, knowledge base, decision log, activity stream). No source code. | Hosting for the remote MCP connector and the background workers (extraction, Git export, conflict detection). | United Kingdom (London). Fly.io is a US company. |
| Stripe | Email, subscription status, payment method (held by Stripe), customer and subscription identifiers, and invoice metadata. We do not store card numbers. | Subscription billing. | Determined by the processor |
| Resend | Email address, consent state, and delivery events — newsletter only. | Newsletter delivery. | Determined by the processor |
3b. AI provider processors — the paths, kept separate
| Path | Processor(s) | Personal data | Whose key | Notes |
|---|---|---|---|---|
| Your-key (BYOK) inference — extraction of Atoms from your Documents (BYOK and mix modes), and the contradiction-finding feature | The AI provider you select (Anthropic, OpenAI, or Google) | Document text (for extraction) and Atom text (for contradiction-finding). Never source code. | Your key (stored encrypted; decrypted single-use). | We dispatch the request from our servers using your key; the content passes through our systems in transit only, is not stored by us, and is not billed to our account. Your use of that provider is governed by your agreement with them. |
| Platform-funded inference — semantic-search embeddings, and the duplicate-detection (claim-merge) feature | Google's Gemini API | Atom text only. No source code, and no Document content beyond the Atom text already extracted. | Our platform key. | This is the one path where we send your content to a provider on our own account. It is used only when you have not configured your own Google key. It is cost-capped and fails closed at the cap (see Section 4). |
Agent mode is not a dispatch path. When a Project runs in agent mode, extraction happens inside your own AI agent, on your own AI subscription: Engrym serves the Document text to your agent, your agent runs the model, and the results come back to Engrym as provisional Atoms. We dispatch nothing to any AI provider for that work, and we never receive your subscription credentials.
In plain terms: we never send your source code to any AI provider. In BYOK and mix modes we send your Document and Atom text to the AI provider you choose, using your key, for extraction and contradiction-finding; in agent mode your own agent does the extraction on its own subscription; and, where you have not supplied your own Google key, we send your Atom text to Google, on our key, for semantic search and duplicate detection.
3c. Connecting your AI agent (the MCP connector)
You can connect an MCP-compatible AI tool of your own (for example, Claude Code or Claude Desktop) to Engrym:
- Authorization. The connection is authorized through an OAuth flow: you sign in with your Engrym account, see a consent screen describing the access, and your tool receives an access token scoped to your Engrym account. You can stop using the connector at any time by disconnecting it in your tool.
- What the connector can do. Acting as you, your connected tool can read your Projects' knowledge (Documents, Atoms, decisions, timeline), write knowledge back (documents, brain entries, decisions, intents, session state), submit Reconciliation Verdicts, and — in agent mode — pull extraction work and submit extracted Atoms, which are recorded as provisional pending your review.
- What we never receive. Your AI subscription credentials stay between you and your AI provider. The connector authenticates your tool to Engrym with an Engrym-issued token; it does not give us your Claude (or other provider) account credentials, and we never replay or use your subscription.
- Auto-pull consent. By default your agent pulls extraction work only when you ask it to. Automatic pulling is a per-Project, off-by-default setting you control from the dashboard, including an optional in-session re-confirmation and an eagerness level.
4. How the AI key paths handle your data
- Your-key (BYOK) path. Your Document and Atom text is sent to the provider you chose, using your key. That inference is governed by your agreement with that provider. The content passes through our servers in transit only, to dispatch the request; it is not stored by us and is not run on our account.
- Agent-mode path. Your own agent pulls the Document text from Engrym and runs the model on your own subscription, in your own environment. We make no provider call at all.
- Platform-funded path. Where you have not configured your own Google key, your Atom text (not source code, not full Documents) is sent to Google for (a) semantic-search embeddings and (b) duplicate detection. This path is metered, capped per account, and fails closed at the cap: semantic search degrades gracefully to keyword search, and duplicate detection is skipped. It never overspends.
5. Retention, deletion, and export
- Content (Documents, Atoms, verdicts) is retained for the life of your Project — that is, until you delete the Project as described below. The Service preserves version history by design.
- Archiving a Project (self-serve, in the product) removes it from your working set. Archived data is retained rather than purged, and there is currently no self-serve restore for an archived Project. Archiving never leads to deletion by itself — but if you want an archived Project's data gone rather than retained, you can permanently delete the Project yourself: the deletion flow below accepts archived Projects.
- Deleting a Project (self-serve, permanent). A Project's owner can permanently delete it — active or archived — from the Project's settings. Deletion requires typing the Project's name to confirm, and the confirmation shows real counts of what will be destroyed. It then runs in two stages:
- A grace window first — currently seven days. The moment you confirm, the Project disappears from every part of the Service — dashboard, API, connected agents, and search — and a purge date is scheduled; the product shows you the exact window and purge date. During the window the owner, and only the owner, can restore the Project intact. Restoring counts against your plan's Project limit: at the limit, you need a free slot or an upgrade first.
- Then an automatic, irreversible purge. After the window ends, an automatic job permanently destroys the Project's data: its Documents (including their version history), its Atoms, its decision and Reconciliation Verdict history, its full event stream, its imported media files, its cross-references to and from other Projects, its Git-export configuration and stored credential, and the Project's stored keys (its encryption keys and any BYOK provider key saved for it). There is no restore after the purge.
- When deletion is refused. If the Project is linked to another Project, deletion is refused until the link is removed — the product tells you which linked Projects block and how many cross-references are involved. In the rare case that a subscription is anchored directly to the Project, deletion is refused until the billing situation is resolved; contact us and we will sort it out.
- What deleting a Project does not touch. Your account, your other Projects, and your connected agents and API keys are untouched (they are account-level; they lose access to the deleted Project because the Project no longer exists). Minimal billing records are retained for as long as the law requires. And we never touch your external Git repository: the Project's export configuration and stored credential are destroyed on our side, but the repository you control — and everything already exported to it — stays exactly where it is.
- What "permanently" means — the honest version. The purge removes the Project's data from our live systems, and nothing in the Service can bring it back. Copies may persist for a limited period in our hosting providers' routine backups, which expire on those providers' backup-retention cycles; we do not restore purged Project data from backups. The Project's encryption keys are destroyed in the purge, which immediately makes the content encrypted with them — the Project's stored provider keys and Git-export credential — permanently unreadable everywhere, including in any backup copy. We will not claim deletion is instantaneous everywhere at once, because that would not be true.
- Deleting your account remains handled on request: email us at the privacy contact below from the email address on the account, and we will verify the request and delete your account and its content, except for minimal billing records retained for as long as the law requires.
- Derived data. Search vectors and other data derived from your content are deleted together with the content they were derived from.
- Export. You can export your Project at any time, and you may configure a Git export to a repository you control. After cancellation, export remains available for a limited period. The deletion confirmation reminds you that export exists — you can take everything with you before you delete.
6. Cookies and similar technologies
The only cookies the Service sets are authentication and session cookies, which keep you signed in and are strictly necessary for the Service to function. We run no analytics cookies, no advertising cookies, and no third-party tracking pixels (see Section 1.6).
7. Your rights and how to exercise them
Depending on where you live, you may have rights to access, correct, delete, port, restrict, or object to the processing of your personal data, and — where processing relies on consent, such as the newsletter — to withdraw that consent at any time. The Service is built for portability: the Git export and full Project export give you your data in standard, open formats at any time. To exercise a right that is not yet self-serve (such as account deletion), email the privacy contact below.
Withdrawing supporters-wall consent (Section 1.8) is self-serve: use the wall toggle in your account settings; the record is deleted and your name is removed from the wall.
RTK AI Labs Ltd is established in England and Wales (United Kingdom), so the UK GDPR is the primary regime; the EU GDPR also applies to users in the European Union.
Privacy contact: privacy requests can be sent to us by email at oussama.berrahal@engrym.com.
8. Changes to this policy
We may update this policy as the Service evolves or as new processors are added. We will give notice of material changes and maintain a current sub-processor list.
9. Document history
- 11 July 2026 — Section 5 rewritten for self-serve Project deletion: a Project's owner can now permanently delete any Project — including an archived one — from the product, with a grace window (currently seven days; restorable by the owner) followed by an automatic, irreversible purge. The former "contact us to request deletion of archived data" path is replaced by the self-serve flow; account deletion remains on request, unchanged. Added explicit statements of what deletion does and does not touch, when it is refused, and an honest statement about backups: the purge clears our live systems, backup copies expire on our hosting providers' retention cycles, and the Project's encryption keys are destroyed at purge.
- 10 July 2026 — Added Section 1.8 (the Founding Supporters wall opt-in: minimal consent record, display-name-only public listing, outright deletion on withdrawal) and a self-serve-withdrawal line in Section 7.
- 3 July 2026 — Updated to match the live product: removed the analytics and error-monitoring disclosures (no analytics service and no error-telemetry service is integrated in any part of the product today; describing them overstated our collection) and replaced them with the server-side request-log description that is actually true. Corrected the processor schedule: Fly.io hosts the remote MCP connector and the background workers — not only a Git-export worker — and runs in the United Kingdom (London), not the European Union; Supabase and Vercel regions stated precisely. Added Section 3c describing the MCP connector's OAuth flow and agent-mode extraction (your agent runs the model on your own subscription; we never receive your subscription credentials). Retention section now states what exists today: self-serve Project archive with retained data, and account deletion on request rather than self-serve.
- 19 June 2026 — First published version.