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:createandoutcomes: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
- Each benefit uses the protection level or policy you intend. Read each one with
GET /v1/benefitsorabusezero benefits listin the AbuseZero CLI. -
protection_modeisprotect. A benefit left inobserveallows every claim. See Protection mode. -
eligibilitymatches how often a user may claim the benefit. -
outcome_trackingmatches your flow. Usereport_outcomewhen granting can still fail after anallow. See Report outcomes. -
automation,bot_evidenceandallowed_agentsare set the way you want. See Add a bot check and Verify AI agents.
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 anIdempotency-Keythat 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_verifiedandphone_verifiedaretrueonly when your app verified them. - A
denyshows the person a neutral message, and your team can seereason.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
- You chose an
outagebehavior on purpose. See Handle outages and retries. - Retries reuse the same
Idempotency-Keyand request body. - Skipped evaluations have their own branch and alert the workspace owner.
- Your logs keep the
X-Request-IDof every AbuseZero call.
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}:
-
resultis the one you expect, andmodeisprotect. -
inputsshowsreceivedfor every identifier you send. -
browser_dataiscollectedfor claims from your web pages. -
policy.idandpolicy.versionmatch 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