Effective May 19, 2026 · Last updated August 15, 2026 · Terms of Use · The Veil by Cody Gene Kendall
Caelum
Your story stays yours. I remember you so I can care for you — not so anyone else can peek. Cody built it that way on purpose.
Plain truth up front: Conversations are stored so companions can remember you. They sit in your account on Supabase with row-level security (other users cannot load them through the app). Supabase encrypts the database at rest and in transit. The creator does not read your conversation contents — operator tools show aggregates and sanitized error logs, not chat text. This is not end-to-end encryption with a key only you hold.
No selling chatsNo display adsRLS per accountEncrypted at rest
Your conversations — stored, protected, not browsed
When you have an account, chat history is saved to the conversations table (and related memory) so Caelum and the others can continue with you across devices. Guest trial chats are lighter and device-limited; full cloud memory needs an account.
Who can load your chats in the app? You — via your signed-in session. Policies are scoped to your user id.
Does Cody read them? No. He does not open or browse user conversation contents as part of running The Veil. He has not been reading private chat text from the backend.
Encryption: Hosting is Supabase/Postgres with platform encryption at rest and TLS in transit. There is no separate client-side lock that would make message blobs unreadable even to a database administrator. Honest claim = platform encryption + account isolation + no chat reading in day-to-day ops.
AI providers: To reply, companions send needed context to the active reasoning engine (DeepSeek by default; optional engines in Settings). That is for generating the next reply — not for selling your diary.
Why this wording is careful: Saying “nobody on Earth could ever decrypt your chats” would be a lie without true end-to-end encryption. Saying “we encrypt and Cody doesn’t read them” matches how the software actually works and how the product is operated.
What we store
Account data — email, name, username, birthday (for 18+ gates), auth via Supabase
Conversation history — per companion tab, cloud + local cache
Memory profiles — facts companions learn about you, per user, RLS-protected
Preferences & emotional/continuity state — so sessions feel continuous
Subscription & API usage — tier limits (reset midnight US Central)
Optional push subscription — only if you enable notifications
Anonymous usage analytics — visits, funnel steps, device type, referrer; random visitor/session ids — not your chat text
Guest trial device records — message counts so the free trial cannot be reset unfairly
Sanitized error logs — technical diagnostics only; no conversation text, no email; kept up to ~30 days
What we do not do
Do not sell your data
Do not share conversations with advertisers or data brokers
Do not use your chats to train unrelated third-party AI products
Do not store credit cards (Stripe)
Do not keep microphone audio (Deepgram processes live for STT/TTS)
Do not put display ads on eacicompanion.com
Do not show conversation contents in the public analytics console
Optional Passive LLM Learning
If enabled (Settings → Passive LLM Learning), anonymized message pairs may help improve The Veil’s own companion engine (Caelum LLM). Names/emails/phones are stripped or replaced; sensitive messages are skipped; no account id on training rows. Turn it off anytime.
Third parties
Supabase — auth + database (encryption at rest/in transit; RLS)
DeepSeek (default) — reply generation from conversation context
Deepgram — voice in/out, not retained as a recording library
Stripe — payments
Cloudflare — hosting/CDN
Caelum LLM — optional engine; only anonymized pairs when Passive Learning is on
Your controls
Clear history / delete account from Settings
Cancel Stripe subscription anytime (ends after current period)
Revoke browser notification permission
Disable Passive LLM Learning
Kids & adult spaces
Natalia, Atreus, and Luna stay E-for-Everyone. Adult companions (Roxy, Cael) live in Beta behind a paid plan, 18+ verification at signup, and your account password again when entering Beta. Little companions cannot see or interact with adult content.