Security

Your memories are the most precious thing you have — here's how Grimzoo protects them, openly and without compromise.

🔐

End-to-end encryption

Every memory is encrypted with AES-256-GCM before it's stored. Even if someone got into the database without permission, your memories would stay unreadable.

🚫

No data sales

Your memories are never sold, shared with third parties or used for advertising. Your data belongs to you, full stop.

🤖

No AI training

Your memories are never used to train artificial intelligence models. They're used for one thing only: feeding your personal Clone.

✨

Passwordless sign-in

No password to create or remember. You sign in with a one-time 6-digit code sent to your email address — impossible to guess or steal.

📦

Export & deletion, anytime

You can export all of your data as JSON or delete your account whenever you like. No traps, no lock-in.

🛡️

Isolation per user

Every database query is filtered by your unique identifier. It's technically impossible to reach another user's memories.

🔗

Sharing on your terms

You alone decide which memories to share, and with whom. Pick an open link, or restrict access to approved emails (verified by code). You can regenerate the link at any time to revoke every access instantly.

🤖

How the AI handles your memories

To make your Clone work, Grimzoo relies on two external artificial-intelligence services. Here's exactly what happens — and what doesn't.

📡
What gets sentThe text of your memories — and your photos, when you attach some — is sent securely (HTTPS) to the professional APIs of Anthropic (Claude) and OpenAI. That can include names, places or personal details. The breakdown, step by step, with who receives what, is further down: nothing is lumped together.
🔒
Pro API ≠ ChatGPT or Claude.aiGrimzoo uses the professional APIs, not the consumer apps — the terms aren't the same. What you write never shows up in any ChatGPT or Claude.ai conversation history. What the providers keep, and for how long, is spelled out just below.
🗑️
Limited retention, never any trainingYour memories are never used to train Anthropic's or OpenAI's models: their API terms rule it out. That said, like any API call to these two providers, a request may be kept for up to 30 days by their abuse-detection systems, then deleted. Neither of them stores your Grimoire: the only lasting storage of your memories is Grimzoo, encrypted, in your personal database.
🚫
Never shared with third partiesYour memories only go to these two technical providers, solely to make your Clone work. No other company, no advertiser, no data broker can get to them. The only exception, and only if you use them: your browser's dictation and reading aloud (just below).
🎙️
Your browser's dictation and reading aloudThe microphone button and the “Listen” button use your browser's or device's voice service, not Grimzoo: on Chrome, your voice or the text being read may go through Google; on Safari, through Apple, or stay on the device. For reading aloud, Grimzoo picks a voice installed on your device when there is one: nothing leaves. The Fireside told out loud goes through OpenAI instead (details below).
Automatic, when you save

Leaves without you asking for anything.

Search in your Grimoirethe memory's text, turned into a vectorOpenAI
Sorting the memorythe text and your birth year, to work out its theme, feeling, date and placeAnthropic
The memory's place, while you writethe text as you write it, to read the town where the memory takes placeAnthropic
Describing an attached photo — describethe photo, each time you add one, so the Clone can talk about itAnthropic
Describing an attached photo — findthe description written above, or the caption printed under a photo of an imported book, so the photo can be found by what it showsOpenAI
Only when you ask

Nothing leaves until you make the move.

Talking to the Clone — findyour question, to pick the memories to rereadOpenAI
Talking to the Clone — answeryour question, the thread of the conversation and your memories: your whole grimoire (beyond a cap, the ones the search finds), with your photo captions and your birth yearAnthropic
Your shared grimoire's Clone — answering a visitor (if you turned it on)your first name, the visitor's question, the thread of their conversation and the memories you shared, with their photo captions — never your birth yearAnthropic
The Firesideyour answers in the dialogue; when you open a Fireside without a topic or tell the story of a photo: your birth year, your “Who I am” introduction and, if there is one, the photoAnthropic
The Fireside out loud — Grimzoo's voiceGrimzoo's questions, to read them aloud (the sound is not kept)OpenAI
The Fireside out loud — your spoken answersthe recording of your answer, to write it down (it is not kept)OpenAI
Blending a Witness's account into your memoryyour memory's text, the one your Witness wrote you, and their first nameAnthropic
The Grimoire's search barwhat you type, turned into a vectorOpenAI
“Tailored” questionsexcerpts of your memories (500 characters each, up to 50), your birth year, the names of your life periods and your “Who I am” introductionAnthropic
Illustrating a memorythe memory's text, to draw out the scene to paintAnthropic
Illustrating a memory — the drawingthe scene drawn from your memory, to paint itOpenAI
“Proofread” your textthe text to proofreadOpenAI
Importing an audio recordingthe audio file, to transcribe itOpenAI
Importing an audio recording — the splittingthe transcript, to split it into memories and tidy them upAnthropic
Importing a notebook or a PDFthe document's text, to split it into memoriesAnthropic

A social-media import calls no AI at all: the archive is read in your browser, it never even touches our servers, and the text of your posts is kept exactly as it is.

In short: the AI needs to read your memories for your Clone to work, but it doesn't learn them, doesn't keep them for long, and doesn't share them with anyone.

⚙️

Technical details

For the curious and the demanding — here's Grimzoo's security architecture in detail.

Encryption at restAES-256-GCM with a dedicated encryption key
Encryption in transitHTTPS / TLS 1.3 on every connection
Authentication6-digit OTP code via Supabase Auth — no password stored
Data isolationPostgreSQL Row Level Security (RLS) — every row is tied to a single user
AI embeddingsSearch vectors (pgvector) are generated server-side and isolated per user
HostingHetzner server in the European Union (Finland), GDPR-compliant
Processing outside the EUAI calls are contracted with Anthropic Ireland Limited and OpenAI Ireland Ltd., which process in the United States; emails go out through Resend (United States). Covered by the standard contractual clauses (Art. 46 GDPR)
File storagePhotos stored in Supabase Storage with per-user access policies
SessionsJWT tokens with automatic refresh, configurable expiry
🇪🇺

GDPR compliance

Grimzoo is hosted in the European Union and complies with the General Data Protection Regulation (GDPR). In practice, that means:

✓
Right of access: you can look at all of your data at any time in your Grimoire.
✓
Right to portability: you can export all of your data as JSON from the settings.
✓
Right to erasure: you can delete memories one by one or ask for your account to be deleted entirely.
✓
Data minimisation: we only collect the information strictly needed to run the service.
✓
Legal basis: the processing of your data rests on the explicit consent you give when you sign up.

A question about the security of your data? Write to us at info@grimzoo.com