Docs
What the servers do.
Local-first does not mean there are no servers. It means the servers are deliberately dumb about you. Here is their entire job.
A stateless pass-through
When you talk to Kata, the request passes through our server to the model and the reply comes back. The server does not keep the message or the reply: it is a relay, not a filing cabinet. The model's provider processes the request to answer, does not train on it and deletes it within 30 days. For a Kata voice, the reply text passes to ElevenLabs to be spoken and is not stored there.
The few operational tables
| What | Why |
|---|---|
| Account and auth | So you can sign in and your plan is known. Provided by Supabase, hosted in Switzerland, Zurich region. |
| Aggregate usage counts | Message and voice tallies for fair use and billing. Never the content. |
| Referrals and consent | So earned months attach to the right invite, and which Terms and Privacy Policy version you agreed to, on which surface. |
| After an account is deleted | Its consent records for ten years, linked only to a one-way fingerprint of the email address and the former account ID, and one-way fingerprints of the email address and the Apple or Google sign-in for 24 months, so the free month and invite rewards go to each person once. |
| Personas | The compact archetype summary, not traceable to your data. |
| Plans, subscriptions and promos | Your plan and its status, billing records and any promo links: never your card number. |
| Push and notification schedule | Your push token if notifications are on, and the categories, quiet hours and time zone the scheduler honors. |
| Company membership | If a company covers you: your seat, its state and its history (when you were invited, joined or left), never anything you do in Kata. |
| Gifts | If you give or receive a gift: its code, length and card, the names and note on it, how it arrives and who claimed it and when. The names, the note and the addresses go 90 days after it is claimed. |
| Ciphertext | The sealed restore snapshot of the web app and the Android app, and the sealed copy of each active secure share, kept with only a salted hash of the recipient's email address and its expiry: bytes we cannot open. Plus, if you use them, one yes-or-no value a day for Duo and Groups. |
| Public letter cards | Only a card you choose to make public from a Sensei letter: your archetype mark, a few counts and one line. Removing it deletes the card and its image at once. |
The WHOOP token
When you connect WHOOP, the tokens stay on your device: sealed on the device in the iPhone app, and in a browser in an httpOnly cookie that page scripts cannot read. Your WHOOP data passes through Kata's proxy on its way to you without being stored, and the connection is bound to your Kata account. See WHOOP.
The operator cannot read your data
This is not a promise: it is an architecture. Your logs, chats, memory and photos are namespaced per account and stored only on your device; where a copy leaves it (the account snapshot of the web app and the Android app, or a secure share), it leaves sealed under a key we never receive. There is nothing for an operator, or an attacker who reached our servers, to read.