How DriftExact works

DriftExact compares Stripe billing against your actual product access records to detect silent mismatches such as paid subscriptions without access, lingering access after cancellation, and refund-related entitlement mistakes.

Read-only comparison. Deterministic output. No automated fixes.

Built for subscription businesses where billing and access are managed in separate systems.

In plain English

DriftExact takes two inputs: Stripe billing data and your internal access data. It compares them using explicit rules and produces a report showing where they no longer agree.

Read Stripe billing state

Read-only billing data is collected from Stripe using a restricted API key.

Read internal access state

Internal access records are provided by CSV export or the optional read-only data agent.

Show mismatches in a deterministic report

The output shows where billing and access no longer agree, without guessing or changing state.

The goal is not to predict. It is to show where billing and access are out of sync, clearly and repeatably.

What you provide

No webhooks are required. No billing write access is required. No production traffic routing is required.


1

1. Read Stripe billing data

DriftExact connects to Stripe using a restricted read-only API key.

Input

A Stripe restricted API key with subscriptions:read scope only.

Process

DriftExact reads subscription state from Stripe. It does not create, modify, cancel, or otherwise change anything in Stripe.

Output

Normalised billing records including subscription identifiers, status, cancellation state, period timing, and relevant billing state used for comparison.


2

2. Read internal access data

DriftExact reads the access state your product actually grants, using either a CSV export or the optional self-hosted read-only data agent.

For On-Demand reviews, teams can usually start with a CSV snapshot or the optional data agent. For Continuous Monitoring, a repeatable read-only internal data path is required, typically provided through the self-hosted data agent.

During qualification, we confirm whether CSV or the self-hosted data agent is the right fit and share the read-only setup details that match your environment.

Input

Internal records showing the users, licenses, seats, or entitlements you want checked against Stripe.

Process

Your fields are mapped explicitly to DriftExact's comparison model. No schema guessing. No hidden assumptions.

For custom internal schemas, a mapping profile defines which fields should be compared.

The mapping profile is validated against sample data before the first confirmed integrity run.

{
  "fields": {
    "access_status": "is_active",
    "stripe_subscription_id": "stripe_sub_id",
    "user_id": "user_id"
  }
}

Output

Normalised internal access records with the identifiers and status fields required for deterministic comparison.


3

3. Compare billing and access

DriftExact compares Stripe billing records and internal access records using explicit, deterministic rules.

Input

Normalised Stripe billing records and normalised internal access records.

Process

Comparison is driven primarily by explicit subscription references. Where available, customer references support controlled fallback matching. No AI inference. No fuzzy matching. No heuristics.

Output

An integrity report showing each mismatch, its severity, the likely reason, and the recommended operator review action.

What the report gives you

Each run produces a clear integrity report designed for operational review, not guesswork.

Mismatch type

For example, paid in Stripe but access missing, or cancelled billing while access remains active.

Severity

Each issue is classified as high, medium, or low to help teams prioritise review.

Reason

A human-readable explanation describes what likely happened and why the records no longer agree.

Financial exposure

Where relevant, the report highlights the areas where mismatch risk may have financial significance.

Recommended review action

The output indicates what your team should check next, without making changes automatically.

Summary view

An executive overview shows overall integrity status so leadership can see whether drift is isolated or systemic.

DriftExact reports issues clearly. It does not make changes on your behalf.

What happens if data is incomplete?

DriftExact is deterministic by design. If required data is missing, it is flagged clearly rather than guessed.

This keeps the output auditable and reduces false confidence.


Read-only architecture

DriftExact reads from Stripe and your internal access source, compares both sides, and produces an integrity report. There is no write path.

Stripe subscriptions:read Internal Access Source CSV or Agent DriftExact Deterministic comparison layer Integrity Report No write path. Read-only data flow.

DriftExact is deterministic and auditable. It does not use AI inference, fuzzy matching, or schema guessing.


Safety and operating boundaries

No writes

DriftExact never modifies Stripe or your internal systems.

No billing changes

Billing data is read and compared. No billing actions are triggered.

No access changes

User access is never granted or revoked. DriftExact reports state only.

This is a monitoring and verification layer, not an enforcement system.

Best fit

DriftExact is best suited to SaaS teams where Stripe billing and actual product access are managed in separate systems, and where silent mismatch risk is operationally meaningful.

If your billing and access model is extremely simple and fully contained in one system, DriftExact may be unnecessary.


Need to verify whether billing and access still agree?

Request access and we'll confirm whether DriftExact fits your Stripe and internal access architecture.

Request access

Access is granted after initial qualification to confirm operational fit and data architecture.