AbuseZero

Go-live checklist

Everything to check before real users claim a protected benefit.

Work through this list before you route real claims through AbuseZero. Each item links to the guide or reference that covers it. Every evaluation is real and uses credits, including the ones you run during these checks.

Secure your keys

  • Secret and restricted keys exist only in server code and your secrets manager. None is in a browser bundle, a mobile app or a repository.
  • Your production service uses a restricted key with only the scopes it calls, such as evaluations:create and outcomes:write. See Keys and access.
  • Browser code uses only your publishable key (pk_…).
  • You know each key's expiry date, if it has one, and who replaces it. Keys are managed in Developers → API keys.

Review each benefit

Integrate every claim path

  • Every place a user can receive the benefit evaluates the claim first: web sign-up, in-app upgrades, mobile apps and your own API.
  • Each claim has a stable claim_id, and each request an Idempotency-Key that you store with the claim.
  • Every evaluation sends every identifier you have, including the real visitor IP from your trusted proxy chain. See Send identifiers.
  • email_verified and phone_verified are true only when your app verified them.
  • A deny shows the person a neutral message, and your team can see reason.code. See Reason codes.

Check browser protection

  • Every site where people claim a benefit is in your site list, in Developers → Browser setup or PATCH /v1/browser-collection.
  • Your Content Security Policy includes the sources shown in Browser setup.
  • Every evaluation sends identifiers.device_token, including when the AbuseZero browser SDK reports no browser data.
  • Browser setup shows your sites as seen, with no open issue. See Set up browser protection.

Import outcome history

  • Benefits you granted before AbuseZero are imported, so earlier users are recognized from day one. See Import outcome history.
  • If a benefit waits for outcome reports, your code reports every outcome before outcome.due_at.

Set the outage behavior

Confirm billing

  • The workspace owner has checked credits and plan limits in Workspace settings → Billing & Subscriptions.
  • Your team knows that every evaluation, preview and Test console run uses credits.

Run final verification

Run one real claim through each claim path, then open each evaluation with GET /v1/evaluations/{id}:

  • result is the one you expect, and mode is protect.
  • inputs shows received for every identifier you send.
  • browser_data is collected for claims from your web pages.
  • policy.id and policy.version match the policy you reviewed.

Then claim the same benefit again as the same user with a new claim_id. The second evaluation is denied.

Finally, set up the scheduled check in Monitor your integration, so your team hears about a problem before your users do.

How is this guide?

Last updated on

On this page