Trust & Security
You are about to hand a coach your training and health data. This page is the due-diligence version of what we do with it: short claims, each backed by something you can check.
How the AI handles your data
Pseudonymized pipeline. An AI request carries your first name and training context only. Your email, account identity, and payment identity never enter it; an automated test enforces this on every release.
Never used to train AI models. Not by us, not by our AI provider. This is a contractual term, not marketing copy; see the pledge below.
Conversations are distilled, not hoarded. Your coach keeps what matters in a durable memory: your standing preferences and ongoing context, like an injury being watched. The raw chat transcript expires after 6 hours; continuity comes from that memory, your plan, and your live training data, not from a pile of old chat logs.
Memory you can see and delete. Ask /memory in the chat to see what your coach remembers; /delete erases all of it.
Security
Encryption. Your intervals.icu API key is encrypted at rest with AES-256-GCM; everything moves over TLS.
Per-user isolation. Every coach request resolves your credentials and only yours; a request with missing credentials fails closed instead of falling back to anyone else's data. Locked by automated isolation tests.
Authenticated webhook. Messages reaching the coach are verified as genuinely coming from Telegram via a shared secret; forged requests are dropped.
Where your data lives
Both data stores are pinned to Frankfurt, in the EU.
| Data | Service | Where |
|---|---|---|
| Account, race results, subscription state | Postgres (Supabase) | Frankfurt, EU |
| Coach memory, plan, short-lived chat context | Redis (Upstash) | Frankfurt, EU |
| AI processing (the coach's replies) | Anthropic API | United States, under a DPA with Standard Contractual Clauses; API data is not used to train models |
| Payments | Stripe | United States and global; we never see your card number |
The full subprocessor list, including the consent-gated analytics on this website, is in the privacy policy.
Your controls
/export In the chat, sends you everything we store about you as a JSON file: account, race results, coach memory, recent conversation.
/delete Permanently erases your account, plan, race history, and the coach's entire memory of you, and cancels any subscription. Two-step confirmation, then it is gone; only paid invoices are kept, as bookkeeping law requires.
Telegram is your channel. Coaching happens in the Telegram chat you chose, under Telegram's own terms; you can delete the chat in your Telegram app anytime.
Why you can trust this
Kracey is bootstrapped and funded by subscriptions. You pay us, so you are the customer, not the product: there is no advertiser or data buyer in the room, and the business only works if athletes keep choosing to stay. The data pledge is written into our terms as a binding commitment:
We will never sell your personal data, never use it to train AI models, and any future investor or acquirer inherits this commitment.
That last clause is the point: the pledge survives a funding round or acquisition. Read it in context in the terms of service.
Questions about any of this? Write to hello@kracey.com. We respond within one month, usually much faster.