Skip to main content
A Secured Account is an account on your platform that a person has linked to their BotShield ID. The person does it once, with a passkey, from the Link with BotShield ID chip you show after they sign in. From then on, BotShield can tell you that a real human runs the account and since when. BotShield tells you that a human runs the account, never who. You receive no name, no email address and no device information. Secured Accounts is part of a paid plan. See pricing.
Secured Accounts was called Trusted Accounts before release 3.3. Only the name on screen changed. Field names, event names and operation names keep their trusted spelling, for example trusted: true on the token.

Three parties, three verbs

The link exists only because the person confirmed it. Nothing secures an account in the background.

What you learn and what you never learn

The handle is different on every platform, so two platforms cannot compare handles to find the same person. On your platform it stays the same for the same person, including after they unlink and secure the account again.

One BotShield ID, one account

On your platform, one BotShield ID secures one account, and one account is secured by one BotShield ID. BotShield refuses anything else with a 409: An active link is never overwritten. From release 3.3 the refusals also carry plain names: account_already_secured_here and account_held_by_another_id.

Development and Production

A link belongs to the environment of the site key its confirmation ran under. A pk_test_... key makes Development links and a pk_live_... key makes Production links. The two never meet: a Development link never counts as secured, or as a conflict, in Production.

Where the offer appears

You turn the offer on in the BotShield Console, in one of two places: In both places the Console switch is the authority. Your page markup cannot turn the offer on, and notarize="false" turns it off for one placement. In Production the Console asks for your Console passkey before the switch changes. An Age Gate never offers it.

How it relates to BotShield Gate

A gate and a Secured Account answer different questions.
  • The link belongs to your platform, not to one gate. After an account is secured, a verification on any of your gates that sends the same platform-user-ref reports trusted: true. platform-user-ref is your stable ID for the account. BotShield uses it, hashed, to recognise a Secured Account.
  • A plain gate pass never creates or changes a link. Passing a gate proves a human is present. Only the person’s confirmation on the offer secures an account.

How it works

1

You show the chip

After your own sign-in, your page renders the widget with your stable ID for the account in platform-user-ref. The widget draws the Link with BotShield ID chip.
2

The person taps the chip

On a phone the tap opens BotShield. On a desktop it opens BotShield in a new tab, or shows a QR code and a 6-character code to use from a phone. The code lasts 5 minutes and works once.
3

The person confirms with a passkey

BotShield names your platform and asks the person to confirm with their passkey. The passkey prompt appears in BotShield, never on your page. The person can also cancel.
4

You receive the result

Your page gets botshield:success with trusted: true. Your server verifies the token. Your webhook endpoint receives account.secured with the account’s handle, and gate.human_verified with trusted: true and first_time: true.
To run the confirmation yourself, open Secured Accounts, then Try it in the BotShield Console. You act as your own customer, against your Development key.

Next steps

Quickstart

Turn on the offer, add the widget and verify the result.

Staying in sync

Know an account’s current state, live in the page and pushed to your server.

Widget reference

Attributes, events, chip states and failure reasons.

Token and webhooks

The trust claims and the events your server receives.

Managing accounts

The registry, Revoke, and what the person can do.

Not OAuth

What this protocol is, and what it is not.