Overview
Top reasons
Actions in the last 30 days
Connect your account data (read-only)
Send accounts through the REST API (POST /api/purge/accounts), or upload a CSV or JSON export of your user table with signup and activity signals. Lists in CSV cells are separated with |.
Or connect your platform's admin API
Imports members and applies each tier on your platform (Discourse: deactivate / silence / suspend / delete; Discord: verification role / timeout / ban; Shopify: tags your Flow or theme acts on / delete; WordPress: remove role / delete). Credentials are encrypted at rest.
Columns we understand
account_id, username, display_name, email, created_at, signup_ip, signup_asn, device_fingerprint, user_agent, webdriver, captcha_solve_ms, honeypot_filled, honeypot_link_hit, login_ips, login_asns, action_timestamps, posts, email_verified, phone_verified, tags
Client SDK (honeypots, automation markers, CAPTCHA timing)
<script src="/static/sdk.js"></script>
<script>
const bc = BotPurge.protect(document.querySelector("#signup-form"));
// captcha.onStart(bc.captchaStarted); captcha.onSolved(bc.captchaSolved);
// on submit: send bc.collect() to your server, which forwards it to /api/purge/gate
</script>
Real-time signup gate
Call POST /api/purge/gate with the same fields before creating an account. It answers allow, challenge or block with reasons.
Enforcement
Poll GET /api/purge/feed?since=<last id> (or set a webhook in Settings) and apply each state on your side: challenged, restricted, suspended, removed or active. Every action includes the plain-language notice and appeal link to show the user.
| Account | Score | Why | State | Spot check |
|---|
Bot rings
Owner rules
Rules layer on top of the model; the first matching rule decides the tier (0 = exempt). Rules can't reach tier 4 — permanent removal always waits for the appeal window and a human reviewer.
Dry run
Shows exactly who would be hit and why. Nothing changes until you execute the batch.
Batches
Appeals
Ready for permanent removal (Tier 4)
Suspended accounts whose appeal window has closed without a successful or pending appeal. A reviewer must confirm; the account's data is then deleted per your retention policy. This can't be undone.
Audit log
| # | When | Who | What | Details |
|---|