Signup guard

Free plans get farmed. Catch it at signup.

One person signs up with a burner address, or a second Gmail, uses the free quota and repeats. If your free plan costs real money, you see it as an AI bill that grows while paid signups do not.

Who it is for

You run an app with a free plan or a trial, usually an AI app, where every free account has a real cost. You open your users table and find mailinator addresses, or mario1, mario2 and mario3 signing up on the same afternoon.

You want to know which signups to let in, which to look at, and which to keep off the free plan.

What one call returns

The email check (disposable, relay, undeliverable, new domain, or a variant of an address you already know) and the device match (has this browser already taken a free plan under another account?). You get a verdict, the evidence, and a recommendation.

const verdict = await vevee.guard.signup({
  userId: user.id,
  email: user.email,
  device,
});

// verdict.risk            "low" | "medium" | "high" | "unknown"
// verdict.recommendation  "allow" | "review" | "deny_free" | "block"
// verdict.reasons         ["disposable_email", "device_high", ...]

Your app decides what to do with it. Vevee never blocks a signup on its own.

Guard only, nothing else to set up

Create an app, switch on the guard, get a key and make the call. No metering, plans, events or analytics required. If you also meter usage with Vevee, the same app can enforce the free quota too.

Starts in observe mode

Every app begins by logging verdicts without enforcing anything, so you can see how often real users collide before you turn a single rule on.

Tuned for students

Same phone model and the same school Wi-Fi are normal, so the device match does not treat them as one person.

Beats the free lists

Public lists only know the domains someone already reported. Fresh burner domains keep appearing, but they tend to share a few mail servers. We look up the domain's mail server and flag the ones that belong to a known throwaway service, even when the domain is on no list.

Join the guard waitlist

Signups are limited while we open the guard. Leave your email and we will send you one short question about what made you look for this.