Skip to main content
Fake accounts inflate your user counts, abuse free tiers, launder activity, and seed future fraud. They arrive in scripted, headless bursts, often from the same IP or device, and are cheapest to stop at the moment they try to register. tracenow evaluates every signup event against email quality, IP reputation, device signals, and creation velocity. A single rule can stop a scripted wave; a small policy stops everything else.

Which event this protects

Fake account creation maps to the signup event. The Cloudflare Worker fires it on every POST to your registration route before the request reaches your app. Nothing registers in your database until tracenow clears it.

How it works

When a signup request hits your registration route, the Worker:
  1. Reads the email address and submitting IP from the request.
  2. Attaches the device fingerprint token (already injected by the Worker on the previous page load).
  3. Calls /trace with event: signup; enrichment runs in parallel across email, IP, and device.
  4. Evaluates your fake-accounts policy against the enriched signals.
  5. Returns the verdict: allow (registration proceeds), challenge (add friction), or deny (blocked at the edge).

Signals used

See Signals for the full field reference.
Fully covered at the edge. Fake-account signals (email, IP, device, velocity) are all available before sign-in, so the Cloudflare Worker covers this use case with no backend code. The optional server-side call only helps if you want to seed device history for later account-takeover detection.

Set it up

Fastest setup: enable the pre-built Fake accounts policy templates in Monitor mode instead of building these rules by hand. The steps below show what each template contains, so you can tune them afterward.
1

Connect Cloudflare (if you haven't already)

In the dashboard under Integration, paste a Cloudflare API token with Workers Scripts: Edit and Zone → DNS: Read scopes. tracenow validates the token and lists your zones.
2

Add a route rule for your registration endpoint

Under Integration → Routes, add a rule:
  • Route pattern: e.g. yourdomain.com/api/auth/signup or yourdomain.com/register
  • Method: POST
  • Event: signup
  • Mode: start with Monitor to observe traffic without blocking
3

Enable the Fake accounts policies

Under Guard, enable the pre-built Fake accounts policy templates for the signup event in Monitor mode. To customize or add your own rules, see Rules.
4

Switch to Enforce mode when you're confident

Once you’ve reviewed a few days of Monitor traces and confirmed the rules are catching the right traffic, go back to Integration → Routes, edit the signup route, and change Mode to Enforce.Click Deploy to push the updated Worker to Cloudflare.
In Enforce mode, deny verdicts are returned at the edge as a 403 (or your custom response) and your app never sees the request. challenge verdicts are forwarded to origin; enforce them in your app via the server-side call.

Rules

You don’t build these by hand. The pre-built Fake accounts policy templates cover these patterns and enable in one click. See Rules to customize them or add your own.

What a caught attempt looks like

A typical fake-account wave produces traces like this in the event feed: In the API response, a blocked signup looks like:

Going further

The Cloudflare layer evaluates signup without a real user ID. It uses the submitted email as the subject, which is enough to stop the vast majority of fake-account campaigns. If you want to tie signups back to a confirmed subject_user_id after your app creates the account (for linking future login and OTP events), add the server-side in-app call immediately after your registration handler succeeds:
This seeds the per-user history that powers the account-takeover signals (is_new_for_user, is_new_country_for_user, and distinct_ips_24h) from the very first session.