The Science of the Sacred · Hearth & Code · Last updated November 2026
We built this school on a simple rule: your inner life is yours. We collect only what the site actually needs to function, we tell you exactly what that is, and we never sell it. Most of the site needs no account at all — the corpus, the School and the instruments are readable without one. This page is the complete inventory — not a summary, the actual list.
Identity & account
Username, email address, display name, Authentik user ID; approval status and role tier; account/approval timestamps
Why: Sign-in, approval workflow, admin roles · Retention: Until account deletion
Your archetype
The archetype you chose to set on your account, and the date it was set
Why: The petal you asked to be known by — it changes what the site shows you · Retention: Until you change it or delete your account
Petal assessment
Your 64 statement ratings (1–5) and the derived 0–100 distribution
Why: The archetype assessment and your share card · Retention: Until you reset it or delete your account
Advertising measurement
Two conversion tags only. (1) X (Twitter) conversion pixel (rd0uh): page-view events; the ad-click identifier twclid when you arrived via an X ad; at confirmed conversion moments a SHA-256-hashed email and coarse request metadata are sent to X. (2) Google Ads tag (AW-1065803635): page loads; the ad-click identifier gclid when you arrived via a Google ad; a first-party conversion-linking cookie (google_gcl_au) where consent law permits — consent is denied by default for EEA/UK/CH visitors, who are measured cookielessly instead
Why: So we know which ads lead to real readers and account-holders — never for ad targeting, and never on this site · Retention: Governed by X's and Google's privacy policies; we keep no local copy
Security & rate limiting
Transient request counters (account or IP, per action type, per time window); Authentik login events with IP address and device metadata; abuse-reputation scores
Why: Anti-abuse and brute-force protection · Retention: Counters expire within minutes; Authentik security events follow its event-log retention
Tokens & storage
OAuth access/refresh tokens and quiz progress in your browser's localStorage; server-side sessions
Why: Keeps you signed in and your quiz resumable · Retention: Access tokens 30 days, refresh tokens 180 days; cleared on sign-out or reset
To run the account surfaces that need one: sign-in and approval, the petal assessment and the archetype you set on it, the library, the admin surface, and the safety of the door (rate limits and anti-abuse counters). Your data is never used for third-party advertising or sold to data brokers. There are no behavioural advertising trackers on this site.
The platform runs on self-hosted infrastructure (Hetzner), fronted by Cloudflare for TLS and DDoS protection. Authentication is self-hosted Authentik. Operational secrets are held in Proton Pass. No third-party analytics or marketing processors. Where you connect your X (Twitter) account, X's own privacy policy governs X's side of that connection.
Almost everything on this site is published by the house, so there is no user-generated content and no moderation queue to keep. Whatis here can still be wrong. If you find a claim that does not hold, write to us and a human reads it. Corrections and withdrawals are recorded publicly in the Register of Refutations, with the reason attached — the same append-only rule the rest of the corpus is held to.
We run exactly two advertising tools, both for measurement only.
X (Twitter) conversion pixel (ID rd0uh): it tells us which X ads lead to real readers and account-holders. It does not target ads at you anywhere, and we never sell the data. What it sees: page loads, and — if you arrived from an X ad — the click identifier twclid. When a real conversion happens (sign-up, approval, assessment), our server sends X the event with a SHA-256-hashed email and coarse request metadata. Hashing is one-way; X receives no plain email from us.
Google Ads conversion tag (Google tag, ID AW-1065803635): it tells us which Google ads lead to readers and account-holders. What it sees: page loads, and — if you arrived from a Google ad — the click identifier gclid. Outside the EEA, UK, and Switzerland it sets one first-party cookie google_gcl_au (conversion linking). For visitors from the EEA, UK, and Switzerland, Google Consent Mode denies all ad storage by default — no Google ad cookie is set for you, and conversions are measured cookielessly. Neither tag profiles your reading or feeds any recommendation system here. These are governed by X's and Google's privacy policies, and standard tools (ad blockers, Google Ads Settings, X's ad settings) opt you out. Both are disclosed here because you deserve to know exactly what runs — nothing else on this site tracks you.
Contact hello@hearthandcode.dev for any of the following, and we will respond:
For EEA, UK, and Swiss visitors: no tracking cookies at all. Elsewhere, the Google tag sets one first-party cookie (google_gcl_au) solely to link your ad click to your visit; X's pixel sets none on its own. We use your browser's localStorage for exactly three things: your sign-in tokens, your petal-quiz progress, and a version marker that clears stale sessions. Clearing any of it is safe and signs you out at most.
This school is not directed at children under 16. If you believe a child under 16 has given us data, contact us and we will remove it.
If this policy changes, this page changes with it — and the date above is updated. Material changes are also recorded in the Register of Refutations.
Hearth & Code · hello@hearthandcode.dev · https://hearthandcode.dev