AbuseZero

Protection levels

Lenient, Balanced and Strict, the policies AbuseZero defines and maintains for you.

Protection levels are complete policies that AbuseZero defines and maintains: Lenient, Balanced and Strict. Every workspace has all three. Point a benefit at one and it is protected, with no rules to write.

Why it matters

Writing a good abuse policy from scratch takes data most teams don't have yet. Protection levels give every benefit sound protection from its first claim. You choose the level. AbuseZero handles what it contains.

Key capabilities

  • Complete policies. Each level is a full policy, built on AbuseZero's assessment of every evaluation and its own risk threshold. Point a benefit at it and nothing else is needed.
  • Managed for you. AbuseZero defines and maintains each level. Levels can't be edited or deleted, so no one in your workspace can weaken one by accident.
  • Custom rules on a protection level. A custom policy can build on any level. Your rules decide the claims they match, and the level handles everything else.
  • Versioned like any policy. Every evaluation records the policy and version it ran under, including when that policy is a protection level.

Choosing a level

LevelKeyPostureChoose it when
LenientlenientFavors conversion.A benefit costs little to deliver, and a smooth claim matters most.
BalancedbalancedSuits most products.You're starting out, or you want a dependable default.
StrictstrictFavors protection.Each claim carries a real cost, such as generous credits or a trial with paid usage.

Start in observe mode

To see how a level treats your traffic before it affects anyone, set the benefit's mode to observe. Every claim is allowed, and each evaluation records what the level would have decided. Switch to protect when the results look right.

Configuration

  • Which level a benefit uses. Set the benefit's policy_key to lenient, balanced or strict. The change applies to future evaluations.
  • Your own rules on top. Create a custom policy with "base": "balanced" (or another level) and add rules for your product. See Policies and rules.
  • Duplicate policy. Duplicating a protection level creates a custom policy built on that level, ready for your rules.
  • Test against past traffic. Replay your recent evaluations against another level and see every result that would change before any user does. See Test changes safely.

Programmatic access

Response data

Protection levels appear in GET /v1/policies alongside your custom policies, with kind set to managed:

{
  "object": "policy",
  "id": "pol_51b9e2a7-0c4d-4f6e-8a13-7d2c9e5f0b14",
  "key": "balanced",
  "name": "Balanced",
  "kind": "managed",
  "active_version": 1,
  "created_at": "2026-10-01T08:00:00.000Z",
  "updated_at": "2026-10-01T08:00:00.000Z"
}

A protection level's version identifies the level without listing what it contains:

{ "object": "policy_version", "version": 1, "managed": true, "level": "balanced", "created_at": "2026-10-01T08:00:00.000Z" }

When a protection level decides a claim, the reason code names the kind of evidence, such as prior_claim_email or network_risk. See Reason codes.

Next steps

How is this guide?

Last updated on

On this page