Legal
Privacy
What we collect, what we don't, who else sees it, and how to delete it. Written like the rest of this site: direct, technical, no boilerplate. Effective 2026-06-03.
What we collect when you score text
Pasted text leaves your browser when you click Score it. It is sent to our API and from there to Anthropic's Claude Sonnet 4.6 for the epistemic engine evaluation. The text is processed in memory and discarded. We do not store the text in any database, log file, or cache.
What we do store, per scored submission:
- The composite Slop Score, plus the three per-engine sub-scores.
- Per-engine highlight offsets (start/end character positions) — these are meaningless without the text and cannot be used to reconstruct it.
- Per-engine short diagnoses (e.g. "hedges without commitment").
- A SHA-256 hash of the text, used as a deduplication key. The hash is one-way and does not let us recover the text.
- Locale used (en/de/es), character count, timestamp.
Score rows are addressed by an 11-character id derived from the same hash. The id forms the permalink URL /score/<id>. Anyone with the id can view the score, but neither the score page nor the API exposes the original text.
What we collect when you sign in
Signing in is optional — the diagnostic doesn't require an account. If you do sign in (to access the rewriter or your account page), we store the minimum needed to keep you signed in:
- Your email address (so we can send sign-in links and the eventual rewriter launch / receipt emails).
- Your name + profile image when you sign in via Google OAuth — Google passes those through; we don't store anything else from your Google profile.
- A session token (random opaque string), tied to a session row in our database, with an expiry timestamp. Each browser session gets its own token. We do NOT store your IP address against the session (the rate-limiter hashes it as described above; the session row itself has the IP column disabled).
- Your user-agent string (browser + OS, e.g. "Firefox/124 on macOS") — used solely to show you a readable label on a future "your active sessions" UI.
- OAuth refresh tokens when you use Google sign-in, so the session can refresh without prompting you again.
Magic-link sign-in stores a short-lived (5-minute) verification token in the database, consumed atomically on first click. After the link is used or expires, the row is removed.
What we collect when you build a profile
Once you've signed in, the /account page lets you fill in optional profile fields and a writing-style profile. Everything here is explicitly user-provided; nothing in this section is derived without your action.
- Profile fields — first name, last name, display name, a one-line bio (≤280 characters), and a website URL. All optional, all editable, all clearable.
- Writer roles — a multi-select from a fixed list of 8 roles (newsletter author, ghostwriter, marketing copywriter, blogger, student post-AI, technical writer, essayist, other). At least one role is required during first-time onboarding; afterwards you can change them on /account.
- Style archetype — for each locale you write in, you may pick one of our six calibration anchors as your target voice. Stored per-locale as a small string id (e.g.
literary_personal). The rewriter aims at this voice when you reshape text. - Style fingerprint — when you paste 1–3 sample texts (during onboarding or later on /account/fingerprint), we run them through the scoring engines, average the per-engine sub-scores, and store the resulting numbers (lexical / structural / epistemic averages, a modal verdict band, average character count, sample count, deterministic style features — sentence and paragraph length, punctuation rates, and your most frequent words/phrases — and the last-updated timestamp). By default the sample texts themselves are discarded: the numbers are what stays, the prose does not. The fingerprint is stored per locale.
- Saved writing samples (optional) — on /account/fingerprint you can tick a box to also save your sample excerpts so the rewriter can match your actual voice, not just the numbers. This is the one place we keep prose you wrote, and only because you explicitly chose to. The excerpts are stored per locale on your account and used only to shape your rewrites. You can delete them at any time from the same page — that removes the text while keeping the derived fingerprint.
The fingerprint pipeline reuses the same engines as /api/score. Unless you opt to save your samples (above), the same "text leaves your browser for the Sonnet call but is not stored" invariant applies. The Sonnet call processes the sample to extract the epistemic sub-score; Anthropic retains the input under their standard 30-day policy described above.
What we collect when you join the waitlist
Your email address only. We lowercase it before storing. Repeat submissions are silently idempotent (we always return 200 to never leak whether an address is already on the list). We will send exactly one email when the paid rewriter launches; we will not send a newsletter. After the launch notification is sent, we will delete the waitlist table.
IP handling
For rate-limiting (10 score requests / IP / day; 5 rewrite requests / IP / day) we read your IP from the standard proxy headers and immediately hash it with SHA-256 plus a rotating salt. The raw IP never lands in any storage. The hash is truncated to 24 characters and used as the rate-limit bucket key.
Cookies and local storage
We use one cookie, and only when you sign in: a session cookie set by Better Auth (our auth library), holding the random opaque session token described above. HttpOnly, Secure, SameSite=Lax, scoped to deslopify.me. Strictly necessary for the sign-in flow, so exempt from cookie consent requirements (ePrivacy Article 5(3) carve-out).
We do not use Google Analytics, Vercel Analytics, Plausible, or any third-party tracking. Locale (/, /de, /es) is read from the URL path, not from any stored preference. Anonymous visitors who never sign in carry no cookies at all.
Who else sees your data
We use four processors. Each receives the minimum data necessary to do its job.
- Anthropic (US) — receives the pasted text body for scoring and rewriting via the Claude API. Anthropic deletes inputs after 30 days per their data policy. The EU→US transfer happens under Standard Contractual Clauses (SCCs).
- Neon (US, region us-east) — stores the score metadata above, the waitlist emails, the hashed rate-limit buckets, an epistemic-engine response cache keyed by text hash (24-hour TTL), and the auth tables (user, session, account, verification) when you sign in. The Neon database is operated by Neon, Inc.; their data processing addendum applies.
- Resend (US/EU)— sends transactional email (magic-link sign-in messages, and the eventual rewriter launch notification to waitlist signups). Resend processes email addresses + the email body; we don't configure Resend to retain message contents longer than its standard delivery log.
- Google (US)— only if you sign in with Google. We read your Google account email + name + profile image at sign-in time and store them in our user table. We don't request any other scope.
- Vercel (US/EU edge) — hosts the site, runs the serverless functions, and renders the share-card images. Vercel may log request metadata for billing and abuse-prevention purposes.
Your GDPR rights
Under EU GDPR you have the right to access, rectification, erasure, restriction, portability, and objection (Articles 15–21). Contact contact@continuum.tv. For deletion of a specific score row, include the /score/<id> permalink so we can locate it. For deletion of your waitlist email, send the request from that email address.
We do not store the pasted text from scoring, so a deletion request for that is moot — there is nothing to delete on our side. The one exception is writing samples you explicitly saved on /account/fingerprint; delete those yourself from that page at any time. Anthropic retains inputs for 30 days; if you need them deleted there sooner, contact Anthropic directly.
Retention
- Score metadata:indefinite. No personal data is tied to the row; once your session ends, the row is an orphaned metadata record. Permalinks remain resolvable so shared URLs don't rot.
- Waitlist emails: until the paid rewriter launches + the notification email is sent, then the table is deleted.
- Rate-limit buckets: 24 hours from creation, then eligible for cleanup.
- Epistemic response cache: 24 hours from creation.
- Sign-in sessions:30 days max. Each session cookie refreshes silently once per day of use; if you don't come back for 30 days, the session is invalidated and you have to sign in again.
- Magic-link tokens: 5 minutes, single-use. Consumed on first click; the row is deleted immediately after.
- User account: kept until you delete it. The Privacy & your data section on the /account page lets you export everything we hold about you as JSON (GDPR Art 20) and permanently delete your account (GDPR Art 17) — deletion cascades to your connected mailboxes and drops your encryption key, making any cached mail unrecoverable (cryptographic erasure). You can still email contact@continuum.tv for any request.
- Mail AI is opt-in: the email client only sends message content to Anthropic (for drafting replies and folder suggestions) after you explicitly enable AI in your account; it is off by default and you can turn it off anytime. Business customers can request a Data Processing Agreement (DPA) at contact@continuum.tv.
International transfers
Anthropic processes pasted text in the United States. The transfer is covered by Standard Contractual Clauses as approved by the European Commission. By using the diagnostic, you accept this transfer; if you do not, do not paste text into the diagnostic.
Children
deslopify.me is not directed at children under 16. We do not knowingly collect data from anyone under 16.
Contact
For any privacy question, including data subject requests, email contact@continuum.tv. The operator details are on the imprint. The German supervisory authority for our jurisdiction is the Landesbeauftragte für den Datenschutz und die Informationsfreiheit Baden-Württemberg, to which you may lodge a complaint under Art 77 GDPR.
Changes to this policy
Material changes are announced at the top of this page with a date. Last updated: 2026-06-03.