Wire a brand-identity watchlist and run smishing takedown cases
This guide walks the full operator loop end to end: declare which tokens are legitimately yours, scan candidates you observe in the wild, open a takedown case for a hostile candidate, and work that case through to resolution. The reference material — detection signals, band thresholds, matching rules — lives in Brand impersonation watchlist, scan & takedown cases; this page is the task walkthrough. Every step uses cURL against the six endpoints under/api/v1/brand-identity/impersonation/*. The same surface
is in the dashboard under Settings → Compliance → Brand impersonation
watchlist.
1. What the impersonation monitor is
The impersonation monitor is a tenant-owned watchlist: you declare the brand names, domains, and sender IDs that are legitimately yours, and the scanner compares candidates you observe against those tokens. The watchlist persists under your organization settings (brand_impersonation_watchlist), so it is tenant-isolated and needs no
schema migration — the same posture as other settings-backed compliance
modules.
Candidates come in three classes:
- Lookalike domains — the host behind a smishing shortlink
(
acme-verify.tk,acnne.com). - Spoofed sender IDs — an SMS/RCS sender string that reads as your brand.
- Display-name lookalikes — the sender name shown on WhatsApp, RCS, or a messaging platform.
2. Create the watchlist
A PUT replaces the whole watchlist, so send all three lists every time:cURL
Node SDK
Reads resolve to empty lists when you have never configured the watchlist;
writes require an owner, admin, or developer role. Every
replacement is recorded in your audit log
(
brand_identity.impersonation_watchlist.updated) with the entry counts,
so you can trace who changed the declaration and when. Read the current
watchlist back with GET on the same path.
3. Score a candidate
POST /brand-identity/impersonation/scan scores a batch of candidates
against your watchlist. It is read-only: nothing persists, and repeating the
same batch returns the same verdicts, so use it freely to triage before
deciding whether a candidate deserves a case.
cURL
score (0–100), a band
(clean / suspicious / malicious), a recommendation
(monitor / investigate / urgent_takedown), and the named findings that
built the score. A sample verdict:
(type, value),
and verdicts sort worst score first. Your own registered assets always
return a clean verdict — matching your own brand is not impersonation.
4. Assemble a takedown case
When a verdict deserves action, post the candidate tocases. The endpoint
re-scores it, assembles a filing-ready evidence pack, stores the case,
and returns its id:
cURL
data.caseId (formatted bpcase_…) is the handle you PATCH
later. The evidence pack fields:
Recipient classes map from the candidate type:
For a lookalike domain you may also need
hosting_provider_abuse — pick the
desk that owns the infrastructure the attacker is using. The pack assembles
the evidence; it transmits nothing. Supply the screenshots and sample
messages you collected through the candidate’s sample_text and source_url
fields so they ride along into the stored pack.
5. Work the case
List cases, newest first, optionally filtered to one status:cURL
PATCH on the case id:
cURL
Setting a case to its current status is an idempotent no-op, so retrying a
transition is safe. The dismissal path is always available from any active
state for false positives or accepted risk, and a dismissed case can be
reopened to
open. Every status change is written to your audit log
(brand_identity.impersonation_case.status_changed).
6. Operate
Case storage is bounded: the list is pruned down to its cap as cases accumulate, dropping the oldestresolved/dismissed entries first, so
active cases stay until everything closed has been trimmed. Case state — like
the watchlist — lives under your organization settings
(brand_impersonation_cases), tenant-isolated with no schema migration.
Errors to handle:
Writes (watchlist PUT, case create, case PATCH) need the owner,
admin, or developer role; reads also allow viewer.
7. See also
- Brand impersonation watchlist, scan & takedown cases — the reference page: detection signals, band thresholds, and the matching rules behind the scores.
- Brand identity trust score — the inward-facing identity model: how your registered brand identity builds trust, versus this module’s outward-facing watch for third parties impersonating it.
- Brand identity API reference — the endpoint contracts, including the impersonation routes.
- Sender ID registration — register the legitimate sender IDs this module protects.