Customer identity graph operations for marketing and customer-data platforms. Covers deterministic match (hashed email, hashed phone, known-customer-id), probabilistic match (device-graph, IP-cluster, behavioural-similarity), household graph construction, cookieless identity resolution (UID2 / RampID / ID5 / Topics API), CDP integration, consent propagation across LGPD / GDPR / CCPA / DMA, fraud-signal detection, and data clean room collaboration. Distinct from `core/identity-and-trust-archit...
Scanned 9/2/2026
Install to Claude Code
npx -y skills add Canhada-Labs/ceo-orchestration --skill identity-graph-operator --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Identity Graph Operator?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/canhada-labs-identity-graph-operator)More formats (shields.io, HTML) on the badges page.
---
name: identity-graph-operator
description: |
Customer identity graph operations for marketing and customer-data
platforms. Covers deterministic match (hashed email, hashed phone,
known-customer-id), probabilistic match (device-graph, IP-cluster,
behavioural-similarity), household graph construction, cookieless
identity resolution (UID2 / RampID / ID5 / Topics API), CDP
integration, consent propagation across LGPD / GDPR / CCPA / DMA,
fraud-signal detection, and data clean room collaboration. Distinct
from `core/identity-and-trust-architecture`, which covers
cryptographic agent identity and token signing. PII-touching: all
operations require a valid consent record. Use when building or
auditing a customer identity layer, designing a CDP integration,
modelling household graphs, selecting a cookieless identity
protocol, or authoring a data clean room agreement.
owner: Valentina Osei (Identity Graph Operator, domain persona)
tier: domain:identity-systems
scope_tags:
- identity-graph
- deterministic-match
- probabilistic-match
- household-graph
- cookieless-identity
- cdp
- data-clean-room
inherits: core/compliance-lgpd
pii_handling: required
inspired_by:
- source: msitarzewski/agency-agents/specialized/identity-graph-operator.md@783f6a72bfd7f3135700ac273c619d92821b419a
license: MIT
relationship: structural_inspiration
authored_by: ceo-orchestration framework
authored_at: 2026-05-07
# --- smart-loading fields (PLAN-083 Wave 0b sub-agent 0.7c) ---
domain: identity-systems
priority: 3
risk_class: high
stack: [typescript, node]
context_budget_tokens: 800
inactive_but_retained: false
repo_profile_binding:
frontend: {active: false, priority: 10}
engine: {active: true, priority: 4}
fintech: {active: true, priority: 4}
trading-readonly: {active: true, priority: 5}
generic: {active: false, priority: 10}
activation_triggers:
- {event: help-me-invoked, regex: "(?i)identity|sso|oidc|saml"}
# --- K1 paths: native file-touch activation (PLAN-135 W3 unit k1a) ---
paths:
- "**/identity/**"
- "**/identity-graph/**"
- "**/cdp/**"
- "**/consent/**"
---
# Identity Graph Operator
## Cardinal Rule
Every identity resolution decision that reaches a PII-adjacent
surface — ad targeting, personalisation, data clean room query,
household attribution — must be traceable to a consent record that
was valid at the time the decision was made. A match that cannot be
paired with a valid consent record must be treated as no match for
disclosure purposes, regardless of confidence score.
## Fail-Fast Rule
If a consent record for the target identity cannot be confirmed at
the time of resolution, **stop and return an error before writing
any link to the identity graph**. Never infer consent from
engagement history, login recency, or downstream business logic.
Consent absence is not the same as consent revocation, but neither
state authorises processing.
## When to Apply
- Designing or auditing a customer identity resolution pipeline.
- Selecting a deterministic vs. probabilistic match strategy for a
given use case and regulatory regime.
- Modelling a household graph or sub-household identity layer.
- Choosing a cookieless identity protocol (UID2, RampID, ID5,
Topics API, first-party authenticated traffic).
- Integrating a Customer Data Platform (CDP) with an existing
identity spine.
- Authoring or reviewing a consent propagation workflow across
LGPD, GDPR, CCPA, or DMA jurisdictions.
- Designing a data clean room for multi-party collaboration
without raw-data exchange.
- Investigating synthetic-identity fraud or bot-traffic exclusion.
## PII Handling
All fields processed by this skill are treated as PII until
explicitly classified otherwise by a data-quality gate.
**Canonical PII inputs:**
| Field | Canonical form at ingest | Retention rule |
|---|---|---|
| Email address | SHA-256 hash (hex, lowercase, trimmed) | Raw email discarded immediately after hashing |
| Phone number | E.164 normalised, then SHA-256 hash | Raw phone discarded immediately after hashing |
| Device fingerprint | Opaque token; never reverse-mapped to a named user without consent | Session-scoped or consent-bounded TTL |
| Cookie ID / device ID | Pseudonymous; store only the graph-edge, not the raw cookie | Per-consent-revocation TTL |
Minimum-necessary principle applies at every stage: do not request,
store, or propagate fields not required for the specific resolution
operation in flight.
**LGPD Art. 14 — minor handling:** Any identity record associated
with a user whose age cannot be verified must default to the minor
data-handling regime. Do not merge or link minor records into
household graphs without explicit guardian consent. Cross-link to
`core/compliance-lgpd` §Minor Data Handling and
`domains/edtech/skills/student-data-privacy` §Age Verification Gate
for enforcement details.
**Consent propagation primary:** every write to the identity graph
must carry the consent-string or consent-event-id that authorises
the operation. Downstream consumers of the graph inherit the
consent scope; they do not re-derive it.
## Deterministic Match
Deterministic match assigns confidence = 1.0 when two or more
stable, verified signals agree.
**Accepted deterministic signals:**
- Hashed email (SHA-256, normalised before hashing)
- Hashed phone number (E.164, SHA-256)
- Authenticated login state (first-party session token validated
server-side)
- Known-customer-id (CRM canonical key with authoritative source
of record declared in the data processing registry)
**Rules:**
- Confidence = 1.0 is only valid when at least one deterministic
signal resolves without ambiguity. Never assign 1.0 to a
probabilistic signal regardless of score.
- Never infer a deterministic link from co-occurrence, timing, or
shared device without an authenticated signal confirming the link.
- Field normalisation must precede hashing; normalisation logic
must be version-pinned and auditable.
- Contradictory deterministic signals (two confirmed emails that
hash to different values on the same canonical entity) trigger a
mandatory split review, not a silent merge.
## Probabilistic Match
Probabilistic match produces a per-match confidence score in
[0.0, 1.0). The score is evidence, not a decision; the decision
threshold is a tunable policy parameter.
**Accepted probabilistic signals:**
- Device graph (shared device-fingerprint or cookie-id cluster)
- IP cluster (shared IP prefix, recency-weighted)
- Behavioural similarity (session-pattern vectors, frequency
distribution)
- Cross-device co-occurrence (temporal proximity on authenticated
sessions)
**Rules:**
- Every probabilistic match record must carry: signal sources,
per-signal weight, composite score, and the threshold policy in
effect at decision time.
- Threshold tuning is use-case-specific. Suggested baseline
thresholds:
| Use case | Min threshold | Notes |
|---|---|---|
| Ad frequency capping | 0.70 | False merges cause under-exposure, not privacy harm |
| Household attribution | 0.80 | False merges affect billing accuracy |
| Consent-derived action | Do not use | Use deterministic signals only |
| PII disclosure | Do not use | Prohibited — deterministic only |
- Probabilistic matches must never be used for PII-disclosure
decisions, consent derivation, fraud prosecution, or any
operation that requires identity certainty.
- Re-score probabilistic links on a rolling basis; stale scores
(score > configured staleness TTL without refresh) must be
demoted to "needs-review" status.
## Household Graph
A household graph clusters identities that share a physical
dwelling for attribution and measurement purposes.
- Membership derived from deterministic or high-confidence
probabilistic links to shared signals (device, IP, postal address).
- Sub-household individuals must remain distinct records; never
collapse them into a single entity for any PII regulatory operation.
- A shared device is a device node with edges to each member, not a
merged person node.
- Household is a measurement unit, not a legal entity; never use
household aggregates for per-individual compliance decisions
(credit, insurance, employment).
- LGPD / GDPR consent is individual: household-level consent does
not extend to members unless each has independently consented.
## Cookieless Identity
Third-party cookie deprecation requires an explicit protocol
selection matched to the consent posture and use case.
**Protocol fit matrix:**
| Protocol | Consent requirement | Primary use case | Limitations |
|---|---|---|---|
| UID2 (Unified ID 2.0) | Explicit opt-in; hashed email as seed | Programmatic advertising, CTV | Requires publisher + DSP support; email mandatory |
| RampID (LiveRamp) | Consent via CMP or direct opt-in | Cross-publisher identity spine | Proprietary graph; data-residency scope varies by region |
| ID5 | Publisher-controlled consent signal | Open web frequency capping | Lower coverage outside premium publishers |
| Topics API | Browser-enforced; no PII transmitted | Contextual targeting | Coarse signal; Chrome-only as of v1.14 |
| First-party authenticated traffic | First-party consent (login) | Own-property personalisation | Requires login wall or registration incentive |
**Consent flag pass-through:** when a UID2 / RampID / ID5 token is
passed to a downstream activation platform, the consent-string that
authorised the token generation must travel with the token. Platforms
that cannot accept or enforce a consent-string are not eligible
activation targets.
## CDP Integration
A Customer Data Platform is an input source and activation rail,
not an identity source of record.
**Input source taxonomy:**
| Source tier | Examples | Trust level | Consent verification |
|---|---|---|---|
| First-party authenticated | Login events, purchase history, support tickets | High | Verify consent at record ingest |
| First-party anonymous | Page-view events, session analytics | Medium | Verify cookie-consent signal before linking to profile |
| Second-party partner | Data-share agreements, co-registration | Medium | Confirm contract scope; map to identity graph only within agreed fields |
| Third-party enrichment | Data brokers, modelled attributes | Low | Reject unless explicit LGPD Art. 7 legal basis documented |
**Data-quality gates at write:** completeness (hashed email or phone
required before node creation); consent-flag enforcement (no
resolvable consent event-id → quarantine partition, not live graph);
deduplication (run deterministic match before creating a new node;
duplicate tolerance target ≤ 0.1%).
**Latency targets:** real-time lookup p99 ≤ 150 ms. Batch
reconciliation must complete within the consent-revocation SLA
window so revoked identities do not appear in the next activation
cycle.
## Consent Propagation
Consent is the authorisation record; identity is the resolution
key. They must travel together.
**Jurisdiction defaults:**
| Regulation | Default posture | Legal basis for identity processing |
|---|---|---|
| LGPD (Brazil) | Opt-in for marketing; legitimate interest allowed for fraud detection | Art. 7 I (consent) or Art. 7 IX (legitimate interest) |
| GDPR (EU/EEA) | Opt-in; ePrivacy Directive for cookies | Art. 6(1)(a) consent or Art. 6(1)(f) legitimate interest |
| CCPA / CPRA (California) | Opt-out model; "Do Not Sell / Share" signal | California privacy rights; GPC signal must be honoured |
| DMA (EU) | Gatekeeper-specific obligations; no cross-context tracking without consent | Art. 5(2) — explicit consent required for combining personal data across core platform services |
**Consent-string format:** TCF v2.2 (GDPR) / LGPD Consent Framework
strings stored alongside the identity graph edge they authorise.
Consent strings are immutable; revocation creates a new event,
it does not mutate the original string.
**Revoke-propagation SLA:** graph edge suppressed within 24 h of
revocation event; downstream activation platforms updated within
72 h or platform SLA, whichever is shorter. Audit record of
revocation and propagation confirmation retained for 5 years
(LGPD Art. 37 / GDPR Art. 30).
## Fraud Detection
Identity graph anomaly detection is a defensive signal, not a
prosecution tool.
**Accepted fraud signals:** synthetic-identity (zero deterministic
signals + high-velocity creation), bot-traffic (inhuman session
patterns — exclude from merges, not from logs), cross-account-graph
anomaly (single device/IP cluster linked to abnormally many distinct
nodes in a short window).
**Rules:**
- Fraud flags are advisory labels, not deletions; deletion requires
a data-subject erasure request or legal hold decision.
- A node labelled as fraud candidate must be reviewable before any
consequential action (account suspension, payment block).
- Fraud model outputs are probabilistic; apply the same threshold
discipline as Probabilistic Match; never use for identity certainty.
## Data Clean Room
A data clean room enables multi-party data collaboration without
exchanging raw personal data.
Each party contributes pseudonymised or hashed match keys; only
aggregated outputs cross the clean room boundary. Minimum
aggregation threshold: k ≥ 5 (k ≥ 10 for sensitive categories);
exact k documented in the DPA. If the operator supports
differential privacy (LiveRamp Habu, AWS Clean Rooms, Snowflake DP
mode), document epsilon value and per-query budget in the DPA.
**Platform selection criteria:**
| Platform | Hosted / self-managed | DP support | LGPD residency |
|---|---|---|---|
| LiveRamp Habu | Hosted (multi-cloud) | Configurable | Requires data-residency contract addendum |
| AWS Clean Rooms | Hosted (AWS VPC isolation) | Limited (analysis rules) | São Paulo region (sa-east-1) available |
| Snowflake Clean Rooms | Hosted (Snowflake account) | Preview (DP mode) | Brazil region available; verify account tier |
| Self-managed (open-source) | Self-managed | Custom | Full control; higher operational burden |
**DPA requirements:** enumerate permitted query types (ad hoc
expansion requires amendment); log all queries with participant
attribution; define data-deletion timeline and propagation
confirmation at agreement termination.
## Anti-Patterns
| Anti-pattern | Risk | Correct approach |
|---|---|---|
| Using probabilistic match for PII disclosure | Discloses personal data to wrong identity; LGPD / GDPR violation | Use deterministic signals only for any PII-adjacent disclosure |
| Missing consent propagation to activation platforms | Activates suppressed identities; enforcement action risk | Carry consent-string with every activation payload |
| Storing raw email after hashing | Unnecessary PII retention; breach surface expansion | Discard raw email at ingest boundary; retain hash only |
| Collapsing household individuals into a single node | Attributes actions to wrong person; incorrect consent association | Model each individual as a distinct node; household is an edge |
| No revoke-propagation SLA | Revoked consent continues to drive activation | Define and enforce 24h graph + 72h downstream SLA |
| Linking minor records into household graph without guardian consent | LGPD Art. 14 violation | Default to minor regime; require verified guardian consent before any household link |
| Third-party enrichment without documented legal basis | Unlawful processing (LGPD Art. 7) | Reject third-party data unless Art. 7 legal basis is on file |
## Cross-References
- `core/compliance-lgpd` — LGPD Art. 7 legal bases, data subject
rights, consent management, and breach notification procedures.
- `core/identity-and-trust-architecture` — cryptographic agent
identity, JWT signing, token rotation, and VETO-floor agent
governance. Distinct domain: that skill governs who the agent
is; this skill governs who the customer is.
- `domains/paid-media/skills/tracking-specialist` — upstream
signals that feed the identity graph (pixel events, UTM
attribution, cookie consent signals).
- `domains/edtech/skills/student-data-privacy` — minor data
handling and age-verification gate; cross-apply when any
identity graph operation may touch records of users under 18.
## ADR Anchors
- ADR-058 — clean room minimum aggregation threshold and DP budget
documentation requirements.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!