BotShield Gates

The mechanism to arrive able to redeem fairly.

A gate is a door in front of a moment — a presale, a drop, a vote, a signup. A real person signs up, passes once on their own phone, and lands where you run it holding a single-use token. You set who may pass. We never decide; we report what happened.

FIDO Alliance memberFIDO Alliance member · every product stands on a passkey
The BotShield app — a presale gate passed: the on sale starts soon, taking you to TicketPro
A presale, end to end

Sign up. Get notified. Go through.

A gate is not a bouncer that only says no. It holds a place before the doors open, checks one real person at the moment they open, and hands them off to wherever you run the sale — a waiting room, a line, or straight into your own lottery.

01 · Before the doors

We hold your place.

Sign up with a passkey days early. The gate knows you are real before the on-sale exists, so the rush is not the first time anyone is checked.

The BotShield app — a promo gate: the offer is live, enter with passkey
02 · The moment it opens

One real person, one turn.

A real person, over 18 if you asked, two per person. Set when you place it — and nothing can be added to it afterwards.

The BotShield app — the Gates list: open gates with a close time and the passes-per-person rule
03 · The hand-off

Straight to wherever you run it.

Passed, and we take them where you chose — your waiting room, your line, your lottery. The pass carries a token your code checks.

The BotShield app — a drop gate passed: taking you to Couch Tour to buy, your claim held for fifteen minutes
Placed, or sent

On your page, or to one person.

Placed, a gate waits where the moment is: a page, an API call, a link in a bio, a tool your own agent calls. Sent, your server puts the same gate in front of one named person — it lands in their BotShield app, and you can call it again any time. That is Verify with BotShield, and it is where the SMS code used to go. What travels back is a token bound to the person who passed — never a bearer object, so a forwarded one opens nothing.

Placed

Where the moment is.

Web · API · Agent · Link. The person arrives; the gate asks, on their own phone, and hands them off.

The BotShield app — a drop gate: the drop is live, enter with passkey
Sent

One person, by name.

From your server, to one named person. It lands in their BotShield app; recall it any time. No text message is ever sent.

The BotShield app — Verify Account: a company wants to verify your presence, verify with passkey
The counter at the door

Scans. Entries. Redeemed.

Every placement counts arrivals, passes issued and what you confirmed back — the footfall number the web never had, because a session is not a person.

Scans

Arrivals.

Everyone who reached that placement — a page, a link, a code.

Entries

Passes issued.

A real person, through the gate, once — holding a token.

Redeemed

What you confirmed back.

The token used at your end: a ticket, a code, a seat.

BotShield Gates FAQ

How do I run a presale where each real person gets one turn?
Place a gate on the on-sale with two levers: passes per person (one, ever — or two a day, if that is the rule) and how many days the person’s BotShield ID has been real. Fans sign up with a passkey before the doors; at open, each one passes once on their own phone and lands at your store, your waiting room or your ticketer holding a single-use token your code checks. A gate requires a verified account, so the count is per person on your platform, not per email.
What can replace SMS codes for a presale or a promo?
A gate. Placed on the page, the person taps and passes — no code to type. Sent from your server, it lands in one named person’s BotShield app and waits for their passkey — no text message. People who subscribe to your gates give one standing yes, so your next presale lands in their list and you never buy a message.
Can I send a verification to one customer from my server?
Yes. Verify with BotShield is the same gate, sent: your server puts it in front of one named person, it arrives in their BotShield app, they answer with their passkey, and you get the signed verdict. Call it again any time. No SMS is ever sent.
How do I confirm a real customer at the moment they buy, without an ID upload?
The tap. A gate in front of the checkout asks on the person’s own phone; the check that unlocks the phone never leaves it. What comes back is a signed yes scoped to your company, keyed by an opaque ID. No document, no face scan, no birthday.
How do I stop one person taking many turns without tracking people across websites?
Passes are counted per person on your platform, on a link made for your company alone — it cannot be matched to the same person anywhere else. A second account takes a second BotShield ID, which takes a second Apple or Google root, a real device and real time. We raise the cost; we do not claim it is impossible.
Where does the customer land after the gate?
Wherever you run the sale. Your store with a code applied, your waiting room or a known ticketer, or a draw. The pass carries a single-use token your code checks, and nothing moves onto our rails. You keep the registry of who is entitled to what; the gate confirms the person standing at it.
What does a gate count, and what does it store?
It counts scans (arrivals at that placement), entries (passes issued) and redeemed (what you confirmed back). It stores a random ID for the person, a count of passes per person on your platform for the window you set, and that a human confirmed, and when — never where, never what. No email, name or phone; no browsing, location or activity; no face or fingerprint. Verdicts are kept 90 days, then deleted.
Can a gate check age without a date of birth?
Yes. Set a threshold when you place it — 13, 18 or 21 — and the same tap answers it, read inside the passkey ceremony from the age the person’s platform already confirmed. A self-declared age returns Unavailable. You never hold a date of birth.

A gate counts on verified accounts.

Verify your accounts first. Then talk to us about the gate you want to place.