Token Database: Search & Profiles
The Tokenized database page (/dashboard/database) is an advanced browser for tokens you are allowed to see (RBAC + organization policies).
Search by plaintext value (blind index)
Find tokens without storing searchable plaintext in your app database:
- Enter a value (e.g. email) and optional type filter.
- Veilio hashes the value with your user key and matches
lookupHashin the Clients DB. - Results respect the same visibility rules as the token list.
API (session only):
POST /api/tokens/lookup
Content-Type: application/json
{
"value": "user@example.com",
"type": "email"
}Search actions are audited. The searched value is never written to audit logs.
Search by profile (entityId)
Group tokens belonging to the same person or business record:
- Set
entityIdwhen tokenizing (metadata.entityIdorentityIdColumnon datasets / bulk / format). - Filter the database view by
entityIdto see all tokens for one profile.
Bulk reveal
Select rows and Reveal to detokenize up to 100 tokens at once (POST /api/tokens/reveal-bulk). Requires write access (not VIEWER).
Crypto-shred (destroy)
| Action | Scope | API |
|---|---|---|
| Shred one token | Single row | DELETE /api/tokens/[id] (session or API key) or POST /api/tokens/shred (API key) |
| Shred selection | Up to 1 000 IDs | POST /api/tokens/shred-bulk with { "ids": [...] } (session or API key) |
| Shred entire profile | All tokens with same entityId | POST /api/tokens/shred-bulk with { "entityId": "customer_42" } (session or API key) |
Shredding is irreversible: encrypted payload and blind index are erased.
The dashboard asks for confirmation; profile shred requires typing the entityId.
Visibility consistency
List, search, reveal, and shred all use buildTokenVisibility so a user never sees tokens outside their org role, dataset policies, or VIEWER whitelist.