This page is the plain-language record of what Psyche keeps on this device, what it brings back, and what it never does. The ledger below moved off the home screen so the transparency surface has a page of its own.
Each row pairs one statement with the module that makes it true — and where a statement is pinned by a test, the test is named on the row. The rows are the same constants the test suite reads, so the surface and its proof cannot drift apart.
This section keeps records on your device. Every statement below is a claim with a mechanism: the module (and, where a claim is enforced by a test, the test) that makes it true. Nothing here is asserted without a file to point at.
Readings and the reflections you write about them are stored on this device, in an IndexedDB database named polychat-readings.
Journal entries and daily check-ins are stored on this device, in the polychat-psyche IndexedDB database.
Game and assessment sessions are stored on this device, in the polychat-games IndexedDB database.
Journal free text is encrypted in your browser with AES-256-GCM before it syncs, with a key derived from a secret our servers hold for your account, so the synced copies are unreadable without that secret, but not to Poly itself. Tags — free text that can name conditions — now sync only inside that ciphertext.
A reading's intention — the free-text question you typed — syncs only inside the encrypted payload. To write the reading it is sent, through our servers, to our model provider, and the conversation that produced the reading — your question included — is kept in your account's chat history.
Scores decay by design: older observations count less, and the stored values themselves never move — the decay is a read-time transform, not a rewrite of your record.
Finished readings are replayable: reopening one shows the stored text, and nothing is re-generated or re-billed.
Anniversary recall resurfaces the records created one calendar year ago — pure recall of stored records, with no model anywhere in the path.
AI-written interpretations are labeled at render: every fusion chapter carries a provenance badge, and the label is attached by the same module that hands out the text — a renderer cannot get the words without also being given what has to be said about them.
Content from one reading never enters the prompt of another. This is enforced by an in-repo guard test, not by a policy: history may be analysed as numbers, never injected as prose into a meaning-producing call.
No analytics vendors or third-party trackers are loaded anywhere in the readings flow. This is re-derived by a lexical scan over the section's runtime modules on every test run — an empty set is asserted, and any future hit reddens unless deliberately allowlisted.
Logging out clears the psyche data on this device, and the explicit delete control also removes the copies on the server. The shared teardown is the one place that enumerates every database involved, so the two paths cannot drift apart.
A finished reading can be shared with a public link that expires after 7 days. Sharing is a deliberate feature of the section — this surface does not claim otherwise.
Birth details and names you save for readings stay on this device and never sync; forget them here.
Adult confirmation (yes/no + when) — stored on this device only.
Every number below renders from the same object the scoring engine reads — nothing on this surface is re-typed. What decays is confidence: how much weight an observation still carries. The stored record itself never moves.
effective half-life = base × min(3, 1 + 0.15 × log2(1 + observations))
mechanism: lib/psyche/scoring/constants.ts — the rendered object · read by lib/psyche/scoring/decay.ts · pinned by components/psyche/__tests__/score-decay-ledger.test.tsx
design records: docs/sections/psyche/designs/2026-07-05-recency-decay.md · docs/sections/psyche/designs/2026-07-05-decay-v2-value-drift.md
Every capability in Psyche that can send data off this device — what it sends, where it goes, what starts it, and which gate stands in front of it. Rows are grouped by the kind of recipient.
Sync to your Poly account: unknown
What leaves after you turn sync on: Profile, Journal entries, Scores, Activity log, Check-ins, UDP-model snapshots, The v2 evidence stream.
Encrypted in your browser before it leaves: Journal entries, Check-ins. Journal entries and check-ins — free text included — are encrypted in your browser with AES-256-GCM before they are sent, with a key derived from a secret our servers hold for your account, so the synced copies are unreadable without that secret, but not to Poly itself.
What never leaves this device: Personal details, V2 estimates, Contribution ledger, Sleep log, Game reflections, Passage reactions.
Sends recorded by this device's send list in the last 30 days:
Nothing recorded yet in the last 30 days.
The send-by-send list, with sizes and times, is the “Where your words go” list in Journal settings and in Settings.
App-storage sync shipments this device recorded in the last 30 days:
Not everything is recorded yet: the conversation section, related-memory recall. They can still send.
Psyche handles emotional states in two ways. Check-ins, journal mood scores and the local crisis and burnout detectors work on what you report or write; they run on your device, and no AI model infers an emotion from them.
One AI feature infers emotion: chat conversation insights. While its setting is on, your chat-scoring consent is given, and incognito is off, a completed chat message you wrote is sent through our servers to our model provider, which returns an emotional tone reading. The same three checks are repeated on the server before it runs. The tone reading is not shown to you; its sign is added to a local tally on your device.
A second AI surface writes about what you wrote: the journal's dream reflection. When you ask for it, after a consent that names the provider, the entry's text is sent through our servers to the provider, which returns one written reflection in three parts; it is shown to you marked as AI-written and kept with the entry. It sends when you ask, never on its own, and it holds to the same notice posture: no proactive surface, no ongoing conversation with the model.
A local count of the weeks this device opened Psyche and came back after a week away — the retention question, answered by behaviour on this device only.
Reference floors this count is read against:
Local only — never sent anywhere.
Checking your sync setting…
Two irreversible actions on the records this device keeps. Each one asks you to confirm before anything is written.
Reset your profile scores to start fresh. Journal entries, check-ins, and activity log are preserved.
Clear all historical score snapshots. New scores will accumulate from future activities.
These two actions erase records this device holds, so they need you signed in — otherwise anyone with the device could erase them. Sign in to reset or clear.