Kanary computes threat scores from a member profile’s enrolled PII, scan results, and site-level risk signals. Scores are normalized 0–10 (higher = greater risk). A composite profile_threat_score is also returned on member objects (Member summary); individual site rows expose site_threat_score (Site API).
The endpoints below return attack-vector threat scores for a single identity (member profile). Each score breaks down likelihood, potential damage from information currently available, damage by category, and platforms where the risk is most likely to materialize.
| Resource | Path | Purpose |
|---|---|---|
| Doxxing threat score | /api/v1/members/{member_id}/threat-scores/doxxing/ |
Likelihood and impact of public PII aggregation / doxxing |
| Impersonation threat score | /api/v1/members/{member_id}/threat-scores/impersonation/ |
Likelihood and impact of identity impersonation |
| Account takeover threat score | /api/v1/members/{member_id}/threat-scores/account-takeover/ |
Likelihood and impact of personal account compromise |
Every attack-vector response includes these top-level indexes:
| Field | Type | Description |
|---|---|---|
threat_score |
number | Composite score for this attack vector (0–10) |
future_likelihood_index |
number | How likely this attack is to occur in the near term, given current exposures and profile signals (0–10) |
damage_potential_index |
number | How damaging an attack would be based on information currently available about this identity (0–10) |
damage_categories |
object | Per-category damage scores (0–10 each); see Damage categories |
likely_platforms |
array | Sites and platforms where this attack is most likely to occur; see Likely platforms |
computed_at |
string | When this score was last calculated (UTC, ISO 8601) |
All three attack vectors use the same category model:
| Category | Description |
|---|---|
financial |
Monetary loss, fraud, extortion, or theft enabled by the attack |
reputational |
Harm to personal or professional standing, harassment, or public embarrassment |
physical |
Risk of stalking, swatting, violence, or other physical harm |
productivity |
Time lost to recovery, account lockouts, legal response, or operational disruption |
Each entry in likely_platforms describes a site or platform contributing to the vector-specific risk:
| Field | Type | Description |
|---|---|---|
site_id |
integer | null | Kanary site catalog id when known (Site API); null for platforms not in the catalog |
domain |
string | Domain or platform identifier (e.g. spokeo.com, x.com) |
platform_type |
string | e.g. data_broker, social, forum, email, financial, messaging |
risk_contribution |
number | How much this platform contributes to the vector score (0–10) |
rationale |
string | Short explanation of why this platform is relevant |
GET /api/v1/members/{member_id}/threat-scores/doxxing/
Returns a doxxing threat assessment for the member. Doxxing risk reflects how easily an attacker could aggregate and publish the identity’s PII—home address, phone numbers, family members, employer, and similar data—across people-search sites, forums, paste bins, and social platforms.
GET /api/v1/members/67890/threat-scores/doxxing/
200 OK){
"member_id": 67890,
"attack_vector": "doxxing",
"threat_score": 7.4,
"future_likelihood_index": 6.8,
"damage_potential_index": 8.1,
"damage_categories": {
"financial": 4.2,
"reputational": 7.5,
"physical": 8.9,
"productivity": 5.0
},
"likely_platforms": [
{
"site_id": 42,
"domain": "spokeo.com",
"platform_type": "data_broker",
"risk_contribution": 8.5,
"rationale": "Full name, address, and relatives listed on multiple broker pages"
},
{
"site_id": 118,
"domain": "truepeoplesearch.com",
"platform_type": "data_broker",
"risk_contribution": 7.9,
"rationale": "Current and prior addresses exposed with phone numbers"
},
{
"site_id": null,
"domain": "4chan.org",
"platform_type": "forum",
"risk_contribution": 5.2,
"rationale": "Prior doxxing threads reference similar public records bundles"
},
{
"site_id": 201,
"domain": "x.com",
"platform_type": "social",
"risk_contribution": 4.8,
"rationale": "Public posts link real name to employer and city"
}
],
"computed_at": "2026-06-10T14:22:00.123456+00:00"
}
The doxxing score weighs:
GET /api/v1/members/{member_id}/threat-scores/impersonation/
Returns an impersonation threat assessment for the member. Impersonation risk reflects how easily an attacker could pose as this identity—fake social profiles, fraudulent emails, synthetic IDs, or scam accounts targeting contacts.
GET /api/v1/members/67890/threat-scores/impersonation/
200 OK){
"member_id": 67890,
"attack_vector": "impersonation",
"threat_score": 6.1,
"future_likelihood_index": 5.7,
"damage_potential_index": 6.9,
"damage_categories": {
"financial": 6.5,
"reputational": 7.8,
"physical": 2.1,
"productivity": 4.4
},
"likely_platforms": [
{
"site_id": 201,
"domain": "x.com",
"platform_type": "social",
"risk_contribution": 7.2,
"rationale": "High public activity; profile photo and bio easily cloned"
},
{
"site_id": 305,
"domain": "linkedin.com",
"platform_type": "social",
"risk_contribution": 6.8,
"rationale": "Professional headshot and employer details enable credible fake profiles"
},
{
"site_id": null,
"domain": "gmail.com",
"platform_type": "email",
"risk_contribution": 5.5,
"rationale": "Display name and email pattern exposed; look-alike addresses feasible"
},
{
"site_id": 410,
"domain": "facebook.com",
"platform_type": "social",
"risk_contribution": 5.1,
"rationale": "Public friends list and photos support social-engineering impersonation"
}
],
"computed_at": "2026-06-10T14:22:00.123456+00:00"
}
The impersonation score weighs:
GET /api/v1/members/{member_id}/threat-scores/account-takeover/
Returns a personal account takeover (ATO) threat assessment for the member. ATO risk reflects how easily an attacker could gain control of the identity’s personal accounts—email, social, financial, cloud storage, and messaging—through credential exposure, recovery-flow weaknesses, or SIM swap vectors.
GET /api/v1/members/67890/threat-scores/account-takeover/
200 OK){
"member_id": 67890,
"attack_vector": "account_takeover",
"threat_score": 5.8,
"future_likelihood_index": 5.2,
"damage_potential_index": 7.0,
"damage_categories": {
"financial": 7.4,
"reputational": 5.6,
"physical": 3.0,
"productivity": 6.8
},
"likely_platforms": [
{
"site_id": null,
"domain": "gmail.com",
"platform_type": "email",
"risk_contribution": 8.0,
"rationale": "Primary email exposed on breach lists; recovery phone partially public"
},
{
"site_id": 201,
"domain": "x.com",
"platform_type": "social",
"risk_contribution": 6.3,
"rationale": "Linked email and phone in prior data exposures"
},
{
"site_id": null,
"domain": "chase.com",
"platform_type": "financial",
"risk_contribution": 5.9,
"rationale": "Email and phone overlap with known breach credentials"
},
{
"site_id": 305,
"domain": "linkedin.com",
"platform_type": "social",
"risk_contribution": 4.7,
"rationale": "OAuth login path; profile email matches exposed primary address"
},
{
"site_id": null,
"domain": "icloud.com",
"platform_type": "cloud",
"risk_contribution": 4.2,
"rationale": "Phone number exposed on broker sites; SIM swap vector"
}
],
"computed_at": "2026-06-10T14:22:00.123456+00:00"
}
The account takeover score weighs:
All three endpoints share the same error behavior:
| Status | Condition |
|---|---|
401 |
Missing or invalid bearer token |
403 |
Partner inactive |
404 |
Member not found or not accessible to your partner |
503 |
Score not yet computed (profile recently created or scan in progress); retry after the next scan completes |
When a score is not yet available, the response body includes a detail message and, when known, an estimated next_computed_at timestamp.
Attack-vector threat scores require an active enrolled profile with at least one completed scan. Scores refresh on Kanary’s scan cadence and when profile PII or exposures change materially.
The composite profile_threat_score on member list and detail responses is a rollup across attack vectors and site risk. For dashboards and automated workflows, prefer the vector-specific endpoints above when you need actionable breakdowns.
Contact hello@kanary.com to enable attack-vector threat scores for your partner integration. Score-only API access is also available upon request. Accounts on a subscription are scored after a scan queued via POST /api/v1/scan/ completes.