> ## Documentation Index
> Fetch the complete documentation index at: https://docs.botshield.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Managing accounts

> Use the Console registry to list, search, revoke and export Secured Accounts, and see what the person controls in the BotShield app.

A link has two sides. Your organization sees it in the **registry** in the BotShield Console. The person sees it under **Secured Accounts** in the BotShield app. Either side can end it.

## The Secured Accounts page

In the [BotShield Console](https://console.botshield.ai), open **Secured Accounts**. The page has three tabs:

| Tab | What it holds |
| - | - |
| **Link with BotShield ID** | Your surfaces: each one a page with one site key, its switch, and the number of accounts secured through it. **Set up Link with BotShield ID** adds a surface. |
| **Registry** | Every link for your organization in the selected environment. |
| **Try it** | The chip against your Development key, with you as the customer. |

Use the **Development** and **Production** toggle at the top of the page to choose the environment. A link belongs to the environment of the site key its confirmation ran under.

## The registry

The registry is a list of accounts, not of people. A row never shows an email address, a name, a device or another platform.

### Columns

| Column | Description |
| - | - |
| **Handle** | The opaque handle for this person on your platform: `OP_` followed by 12 characters. It is the value that `account.secured` and `account.unlinked` carry. |
| **Secured** | When the person secured the account. |
| **Status** | **Secured** for an active link. **Unlinked · by you** or **Unlinked · by human** for a link that ended. |

### Totals

| Tile | Counts |
| - | - |
| **Secured** | Active links. |
| **New this period** | Links created in the selected period. |
| **Unlinked this period** | Links that ended in the selected period. |

The period is **Last 30 days**, **90 days** or **All time**. The filters **All**, **Secured** and **Unlinked** choose which rows the table shows.

### Search by your user reference

Type one of your own account IDs, the value you pass as `platform-user-ref`, into **Search by your user ref (exact)**. The match is exact. BotShield hashes what you type and compares it with the stored hash, then shows the row with its handle. Your reference is never stored in a readable form and never shown back to you.

This is how you find the handle for one of your users.

### Export CSV

**Export CSV** downloads the rows that are loaded in the table, with the columns Handle, Secured and Status.

## Revoke

Select **Revoke** on an active row to end the link. The Console asks **Unlink this account?** before it continues. In Production, you confirm with your Console passkey. Only an organization admin can revoke. Members can read and export.

After a revoke:

| Where | What changes |
| - | - |
| The registry | The row's status becomes **Unlinked · by you**. The row stays in the list as a record. |
| Your webhook endpoint | Receives `account.unlinked` with `by: "platform"` and `reason: "platform"`. |
| The person | BotShield notifies the person in the BotShield app, with a push notification and an entry in the app's notification list. |
| Your agents | Any of your company's agents that the person added in the app are removed for that person, in the same environment. |
| Your page | With the 3.3 widget, an open page sees `botshield:presence` with `state: "none"` and shows the chip again. Securing the account again creates a new link with a new **Secured** date. |

Revoke an account when:

* The user deleted or closed the account on your side.
* The account changed hands.
* A sign-in detail changed, such as a password reset you did not expect, and you want the human to confirm again.

A revoke that finds no active link succeeds and changes nothing. A revoke ends only the link in the environment you are viewing.

## What the person controls

The person manages their side in the BotShield app, under **Secured Accounts**.

| Action | What it does |
| - | - |
| **See the list** | Every account they secured, by platform name, with the date. |
| **Unlink** | Ends the link. BotShield asks them to confirm first. Your endpoint receives `account.unlinked` with `by: "human"` and `reason: "human"`. Your company's agents that the person added in the app go with it. |
| **Re-link** | Shown on an unlinked account. It tells the person to open your site and tap **Link with BotShield ID**. |

A person cannot secure an account again from the app alone. The request always starts on your page, where your sign-in shows which account it is. The app confirms the human. Your page identifies the account.

If the person deletes their BotShield account, every platform they secured an account on receives `account.unlinked` with `by: "human"`.

## After an unlink

An unlinked account is an ordinary account again:

* A gate pass on it reports `trusted: false`.
* The widget shows the chip on the next visit, when the offer is on.
* Securing it again sends `account.secured` and `gate.human_verified` with `first_time: true`. The handle is the same if the same person secures it.

Keep your own record in step by handling `account.unlinked`. See [Staying in sync](/secured-accounts/staying-in-sync).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.