Platform

Features

Everything Foxhound does. Organized by capability, tagged by product.

Automation

Soft decline: 8 steps
Retry4 hr
EmailDay 1
RetryDay 2
EmailDay 3
EmailDay 7
EmailDay 14
RetryDay 21
EmailDay 30
Recovery tick, every 5 minutesRecovery

Sweeps due recovery steps and runs each through its executor. No delay beyond the tick interval from any scheduled step.

Silent retry before any emailRecovery

The decline is classified first. A quiet retry runs before a customer ever sees a dunning email.

Fraud declines are never retriedRecovery

A fraud-category decline gets a single email and no retry step at all.

Monthly recovery billing runPlatform

Invoices the prior month's matured (30+ day) recoveries at 20%. Baseline recoveries Stripe would have gotten anyway are never billed.

Nightly Intelligence scoring and narrativeIntelligence

Health scores, predictions, alerts, and a structurally grounded AI narrative are computed nightly for every customer.

Monthly MRR and movement snapshotsIntelligence

MRR and the movement waterfall (new, expansion, reactivation, contraction, churn) are computed from Stripe subscription data.

Evidence drafted the moment a dispute opensDisputes

Prior charges, recovery history, and Stripe signals are assembled into a draft automatically, before you open the dispute.

Daily retention sweepsPlatform

Engagement events, email sends, webhook events, health-score history, cron history, and AI call logs are pruned on a schedule so operational tables stay bounded.

Nightly demo resetPlatform

Demo accounts are reseeded nightly and never touch live Stripe data.

Per-cron overlap preventionPlatform

Each cron takes a Durable Object lock before it runs. Overlapping runs are blocked, not queued, and every run is logged.

Intelligence

205082red below 40, amber 40-69, green at or above 70.
Free MRR analytics for every Recovery merchantIntelligence

MRR and movements come free the moment Recovery connects. Not a trial, no separate signup.

Predictive risk scoring, $199/moIntelligence

A paid layer on top of the free analytics that scores customers by churn risk before it happens.

Six decline categories, six sequencesRecovery

Every Stripe decline code maps to soft declines, network errors, expired cards, suspected fraud, revoked authorizations, or declines nothing has mapped. Timing and retry strategy differ by category.

Fail-closed on unrecognized declinesRecovery

An unknown decline code defaults to a dedicated non-retryable category instead of silently auto-retrying.

Evidence never fabricatedDisputes

Every drafted claim is grounded in real charge, email, and Stripe-signal data. Nothing is invented to strengthen a case.

Email and communication

AI-drafted sequences in your voiceRecovery

Recovery emails read as your brand voice, not Foxhound's. Every generated email is read in full before a template ships.

Cloudflare Email Service deliveryPlatform

Outbound email goes through Cloudflare's Email Service behind one thin send module business logic never bypasses.

First-party open and click trackingPlatform

Engagement comes from Foxhound's own tracking routes, not a vendor webhook.

Bounce and suppression handlingPlatform

Email Service events flow through a queue consumer that updates the suppression list automatically.

Signed one-click unsubscribePlatform

CAN-SPAM-compliant, token-based, no login required.

Hosted card-update pageRecovery

A no-login page a customer reaches from a recovery email to update an expiring or failed card.

Visibility

Billing evidence ledgerPlatform

Every fee renders its chain: the Foxhound action, the recovered payment, the 20%. Baseline recoveries appear in the same ledger marked free.

Dispute review-and-sign screenDisputes

The full evidence draft, an edit affordance, and an explicit approve-and-submit action with the fee, capped at $500, stated on the button.

Audit reportAudit

One headline lift number, three bands beneath it: Stripe recovered, still dying, Foxhound adds.

Intelligence risk viewIntelligence

Every customer scored, sorted by MRR at risk, each score expandable to its evidence.

Hand-rolled SVG chartsPlatform

Sparkline, line and area, bar and waterfall, meter, and cohort grid. Server-rendered, no client-only measurement container, no hydration flash.

Admin operations and cron healthPlatform

D1 cap telemetry, deploy state, and a live cron-status table.

Control

Pause, resume, or cancel a sequenceRecovery

From the payment detail page, along with triggering an immediate retry at any time.

Edit drafted dispute evidenceDisputes

Any drafted field can be edited before approval. The draft is a starting point, not a constraint.

Durable Object rate limitingPlatform

Rate limits are enforced through a dedicated Durable Object, not a third-party rate-limit service.

Theme togglePlatform

Dark by default, light as a first-class mode, cookie-persisted with no flash.

Integration

Stripe Connect OAuthPlatform

Connects in under a minute, and never touches your billing configuration.

Direct platform invoicingPlatform

Foxhound bills merchants directly as its own Stripe customer. This is not a Connect application fee.

Cloudflare D1 and DrizzlePlatform

The database layer, reached through native Workers bindings, never over HTTP.

Sentry error trackingPlatform

Error tracking with source maps across the Worker and its cron jobs.

Security and compliance

Narrow Stripe scopePlatform

Foxhound requests read and write Stripe Connect access, because retrying a failed invoice is a write. It writes in three places: retrying an invoice that already failed, setting a customer default payment method after a card update, and submitting dispute evidence you approved. It never changes your prices, products, or subscription plans, and never reaches your payouts.

AES-256-GCM token encryptionPlatform

Stripe access tokens are encrypted at rest with Web Crypto, decrypted only in memory during execution.

Stripe webhook verificationPlatform

Every webhook is verified with constructEvent signature checking, with a Durable-Object-serialized claim so an event can't double-process.

Enforced security headers and CSPPlatform

Response headers and a content-security policy are enforced on every request.

Role-gated adminPlatform

A real middleware guard, not a UI-only check, controls whether /admin is reachable at all.

CAN-SPAM compliancePlatform

Signed unsubscribe tokens, a suppression list, and one-click unsubscribe on every commercial email.

WCAG 2.2 AA targetPlatform

Reduced-motion, increased-contrast, and forced-colors modes are implemented, not just targeted.

See what your Stripe account is leaking. Free diagnostic, no account required.

Run your free audit