- Observe mode belongs to your application, not an extra Maskbreak API parameter; existing safeguards stay active.
- Sandbox fixtures test response handling, not live detection quality or production latency.
- Give review an owner, capacity and a customer recovery path before enforcing a policy.
- Measure missing evidence and legitimate completion, then rehearse rollback before expanding the cohort.
On this page
A fraud integration can return perfectly valid JSON and still lock out customers. The missing step is often a rollout plan that connects each verdict to a usable customer journey, staffed review, and a way to recover when a policy behaves differently on real traffic.
Start with one action you understand, such as granting trial credits. Write down what abuse you want to reduce, what legitimate completion looks like, and which existing safeguards must remain active throughout the release.
Put observe mode in your application
Use a server-controlled flag to separate observation from enforcement. Do not let a browser field select the mode. Record the eligible business action, whether a check ran, its returned decision and reasons, the candidate action, the actual action, and a policy version. Keep failures and degraded evidence visible.
Record that history against an internal operation reference. Keep secret keys and raw SDK tokens out of logs. Observation still sends normal visitor checks to Maskbreak: it does not suspend normal usage, event processing, or configured alerts. Audit webhook consumers too; an automated suspension triggered downstream would make this an enforcement release.
Test decision paths before real traffic
The public sandbox accepts deterministic test_* tokens through sk_test_sandbox. Use fixtures such as test_clean, test_vpn, and test_proxy to exercise your application’s allow, review, and block handling. They test wiring and response handling; they do not measure detection quality, live browser collection, or production latency.
The public sandbox also bypasses account-specific rules and exception pins. Use account credentials with fixtures to test signal rules and IP exceptions; visitor exceptions need the corresponding live device context. Your personal test key can exercise the live pipeline with real browser tokens, with test events and without live webhooks. Validate webhook-dependent behavior separately. Keep account keys server-only; the public sandbox key is deliberately public.
Add local failure fixtures for timeouts, malformed responses, missing tokens, and degraded evidence. Verify that a missing verdict selects your explicit fallback. Test a browser that blocks collection, and test trusted-proxy IP parsing: client-supplied forwarded headers must not determine the authoritative visitor IP.
Wire it into your own app: a free key returns decision, risk_score and reasons for every visit, 1,000 requests an hour, no card.
Get an API keyKeep cohorts coherent and comparisons honest
Assign a cohort on the server using a stable internal account or tenant identifier. For anonymous flows, keep a server-controlled assignment stable through the relevant session or operation. Randomizing every HTTP request can make one checkout alternate between observe and enforce. Do not use an IP as a customer identifier: shared networks and changing mobile connections make it unstable.
Choose the grouping that matches the product. A shared workspace may need one tenant-wide policy so colleagues receive consistent treatment. Record assignment before observing outcomes, and keep the policy version fixed while assessing that cohort.
Compare equivalent actions and customer groups. A launch campaign, outage, or change in geography can alter completion independently of fraud controls. Report counts, denominators, and observation windows; a before-and-after change alone does not establish causation or statistical significance.
Make review a real customer route
Decide what review means for this endpoint: additional verification, a restricted capability, or a queue with an owner. A VPN alone produces review in Maskbreak’s engine, before customer overrides. Sending every review to the block screen turns that distinction into a customer lockout.
OWASP’s authentication guidance describes reauthentication for sensitive features and risk events, with attention to unnecessary friction (accessed 2026-09-06). Use verification appropriate to the action and already-established account controls. A contact-change flow must not treat possession of the newly supplied address as proof of ownership.
For manual review, estimate incoming cases against staffed handling capacity. Include weekends, escalations, and customers who cannot finish the normal challenge. Watch the oldest unresolved case; a modest queue can still contain someone forgotten for days. Give the customer a clear next step and support a safe recovery route.
Define queue limits before launch. When capacity is exhausted, pause expansion or use the endpoint’s agreed restricted path. Do not silently approve sensitive operations because nobody is available, or leave every customer waiting indefinitely.
Inspect traffic you have reason to trust
Build a review sample from customers with independently established successful activity, plus your own controlled journeys. Include mobile networks, workplace VPNs, privacy browsers, shared devices, returning customers, and account recovery. Treat this as a diagnostic sample, not proof that every future visit from those accounts is safe.
Inspect disagreements individually. Was the browser token missing? Did your policy convert review into refusal? Did a rule or exception change the engine decision? Preserve decision_source and matching-rule details when returned; engine_decision appears when an override changes the decision. Reproduce the journey before adding an exception.
Use live visits for browser-dependent evidence. Bare-IP screening currently checks Tor exits and cloud-server ranges in production; it does not reproduce VPN or proxy tunnel detection from a browser visit. A clean-looking IP lookup cannot validate the full integration.
Expand with explicit release gates
Move from staging to observation, then enforce one understood policy for a small coherent cohort. Choose its size from operational capacity and exposure, not a universal percentage. Include support and the person who can stop the release. Avoid changing your challenge flow, matching rules, and cohort size simultaneously.
Before expanding, inspect legitimate completion, challenge completion, support contacts, review age, unknown outcomes, and confirmed abuse outcomes where available. Give delayed outcomes time to arrive. Separate unlabeled activity from confirmed legitimate activity; the absence of a complaint is weak evidence. State which outcomes remain unresolved.
Count eligible customer operations as the denominator for coverage, including operations whose checks failed. Report challenge completion against challenges started, and distinguish customer operations from repeated HTTP attempts. Agree stop conditions for lost coverage, growing queues, and interrupted legitimate journeys before enforcement begins. An improvement in one overall completion number must not hide a broken recovery flow.
Measure rollback as part of the release
Version the enforcement policy and keep the prior configuration available. Rehearse returning the affected cohort to its previous policy while retaining observation and baseline safeguards. Measure time to restore normal handling, customers still stuck in queues, repeated challenges, and actions needing manual repair.
A flag change does not automatically reopen blocked accounts, restore expired reservations, or recall emails already sent. Assign ownership for those consequences. Confirm behavior across webhooks and background workers as well as the main endpoint before calling recovery complete.
Before expanding the cohort
- Observe mode and cohort assignment are controlled by your server.
- Fixtures, account rules, live collection, and failure handling were checked separately.
- Review has capacity, an expiry policy, and a customer recovery path.
- Known-good journeys and policy disagreements have been inspected.
- Measurements include denominators, delayed outcomes, and missing evidence.
- Rollback restores the prior policy and assigns unfinished cases to an owner.
Questions people ask
- Does Maskbreak have an observe-mode request field?
- No. Your server controls observation versus enforcement. It can record the returned verdict and proposed action while continuing to use its existing policy. Normal API processing, usage and configured alerts still apply.
- Does a successful sandbox test prove detection quality?
- No. The public sandbox returns deterministic fixtures. Test live browser collection, account rules, device context and production failure handling separately.
Paste it in, then watch the verdicts
The public sk_test_sandbox key returns the documented allow, review and block shapes with no account, so the failure path is testable before you go live. SDKs for Node, Python and PHP, or plain HTTP. The <a href="/api">API reference</a> and the <a href="/pricing">free tier</a> cover the rest.