PLEDGE 01
No flagging an account mid-trial. Trial users get the same picks paid users get.
If we run a free trial, beta-cohort access, or first-month discount, the trial account sees the same picks, the same SHAP factor breakdowns, the same /record export, and the same /verify-pick chain as a paid account at the same tier. We do not silently downgrade pick volume, gate factor reasoning, or hide stake sizing during a trial. We do not flag a trial account for any internal classifier (account-quality, abuse, fraud, or otherwise) without first sending the user an email naming the specific check, the specific signal, and a contact for appeal.
Audit hook: Trial accounts inherit the same role and the same picks_view query as paid accounts at the matched tier. Any internal classifier that affects access is logged in account_audit_log with the rule name and timestamp. The audit log is exportable per pledge 02.
PLEDGE 02
Full data export on cancellation. No friction, no retention games.
If you cancel inside the trial window or at any later point, your /record export, your /verify-pick hash chain, and your account_audit_log are all available as a one-click download from /account/export within 24 hours of cancellation request. We do not delay the export to keep you on the platform. We do not gate the export behind a confirmation call, a retention email cycle, or a re-signup form.
Audit hook: /account/export endpoint generates JSON + CSV bundles via existing /record/export route. Cancellation funnel stays a single-click cancel; we do not insert exit-intent surveys, plan-downgrade upsells, or extra confirmation modals. SLA: 24h from cancel request to export-ready.
PLEDGE 03
Trial duration matches what we advertised. No silent shortening, no surprise downgrade.
If we offer a 7-day trial, it is 7 calendar days from signup. If we extend a beta cohort to 14 days, every email and every CTA reflects 14. We do not advertise 7 days and quietly downgrade an account at 5. We do not advertise a trial of pick volume X and quietly cap volume at 60% of X. If we change trial terms for new signups, existing trial accounts ride out the original term we promised them.
Audit hook: Trial term is a row-level field on the account_trial table with the original signup term and the original feature set. Migration to a new trial structure adds a new row; the original row is preserved and respected for the original window. /account/trial surfaces the user's term + remaining days + feature set as posted at signup.
PLEDGE 04
Cancel inside the trial = zero charge, no penalty, no win-back-spam.
Cancel before the trial ends and we do not charge the card on file. We do not put the account in a 30-day win-back-email cycle. We do not silently keep a failed-payment retry job firing. The account's /record stays viewable and exportable per pledge 02. If you cancel and re-sign up later, you do not lose your historical /record or /verify-pick chain — your account_id is permanent.
Audit hook: billing.cancel handler removes the card on file from billing_subscriptions and removes the account from win_back_email_queue. Card is not re-charged. account_id is permanent across re-signups; the new subscription rebinds to the same account_id by email_hash match.
PLEDGE 05
We publish the trial-to-paid conversion rate publicly.
Our trial conversion rate (trials started / trials converted to paid in the next 30 days) is published quarterly on /transparency-pledge alongside churn and refund-rate metrics. If trials run especially well or especially poorly, the public number tells you. We do not pad conversion by retroactively reclassifying trial cancels as paid accounts.
Audit hook: Quarterly conversion-rate disclosure on /transparency-pledge as of 2026-Q3 close (next disclosure window after Sprint 4). Number is computed from billing_subscriptions and account_trial joins; the SQL is in docs/PUBLIC_METRICS.md. Hash of the disclosure row is stamped against the same SHA-256 chain as picks per pledge 04 of /transparency-pledge.