This page explains what ChirpPal collects through the wrapper, the dashboard, and the Model Deprecation Radar, and โ just as importantly โ what it does not collect by default.
The short version
By default, the chirppal wrapper never sends the content of your prompts or
your AI provider's responses to us. It reports metadata only: whether a call passed or
failed, latency, the model name (if you tell it), a token count if available, which
check failed, and a short error signature (an exception type, plus a numeric status or
error code when available โ never the exception's message or your provider's response
text). Your conversation content only ever leaves your process if you explicitly opt in
to a debug snippet, to the full error message instead of the default signature, or to an
experimental, not-yet-generally-available semantic-judge sample โ all three are off by
default.
What we collect from the wrapper
- Always: pass/fail result, latency, model identifier, token count (when available), which deterministic check(s) failed, a short error signature if the call errored (an exception type plus a numeric status/error code when available โ never the exception's message), and a small integration-health snapshot (which checks/model/sampling rate were in effect, and the name โ never the value โ of the environment variable used for your key).
- If you configure it: any custom key-value tags you attach via
track(metadata=...)โ sent as plain, unencrypted text, so it's only as private as whatever you choose to put in it. - Only if you opt in: the full error message instead of the default
signature (
send_error_messagesin your project's config), a snippet of the failing output (debug mode), or a sampled prompt/response pair sent to our semantic judge โ an experimental feature that isn't generally available yet, off by default, and only active if you explicitly enable it in the SDK.
Account data
Signing in uses GitHub or Google OAuth โ there's no password. We receive and store your verified email address, name, and profile picture, plus a session identifier for as long as you're signed in. We never see or store your GitHub/Google password or their access token beyond the sign-in request. If you add extra alert recipient email addresses (up to three) in Account settings, we store those too. We also store which models you've chosen to track for deprecation status, whether or not they're tied to a project. Deleting your account removes this data; see the Terms of Service for how to request that.
Billing data
Subscription payments are processed by Stripe. We store your Stripe customer and subscription identifiers and subscription status (active, canceled, etc.) so the dashboard can show your plan โ we never see or store your full card number. Stripe's own privacy policy governs the payment data it holds.
Model Deprecation Radar subscriptions
If you subscribe to deprecation alerts without an account, we temporarily store your email address and the models you picked while we wait for you to confirm via the link we send โ that temporary record is deleted automatically if it's never confirmed. Confirming (or later signing in with the same email) turns it into a regular ChirpPal account, and your picks become part of your tracked-model list. Every deprecation email includes an unsubscribe link that works whether or not you can sign in.
Data retention
Ingest events (the metadata described above) are kept for 5 days on the Free plan and 30 days on the Pro plan, then deleted. Account and billing records are kept for as long as your account exists.
Who we share data with
We use a small number of subprocessors to run the Service: Stripe for payment processing, Resend for transactional email (alerts, radar notifications), and hosting/database providers to run the API and store data. We do not sell your data.
Cookies
The dashboard uses two small cookies to keep you signed in: a session cookie (not readable by page scripts) and a matching anti-forgery token (readable by the dashboard's own scripts only, to protect state-changing requests). We don't use advertising or cross-site tracking cookies. Both the marketing site (this page) and the dashboard use PostHog for aggregate, privacy-respecting product analytics โ for example, so we can see how many people who subscribe to the radar go on to create an account. If you're signed in, PostHog identifies you by an internal account number, never your email address.
Your choices
You can leave every opt-in (debug snippets, full error messages, the experimental semantic-judge sample) off โ the wrapper works fully on deterministic checks alone. You can unsubscribe from radar emails anytime via the link in each email, and request account deletion by contacting us.
Contact
Questions about this policy: support@chirppal.com.