Watch the Market, Not the User
A monitoring analyst on a bank payments desk needs to know when the market behaves unusually, not what each customer did. I rebuilt my 2025 privacy-first heatmap as a workspace where every alert starts at the aggregate, and a look at an individual needs a reason, a case, and a scope, written to an audit line. In the seeded dataset, 1 of 4 real events needs an individual look; the other 3 are explained or escalated from aggregates alone.
- Privacy by design
- Transaction monitoring
- AML compliance
- Data visualization
- Audit trail
- Digital assets
The glass house
01 · Failure contextMonitoring tools tend to start with people: an account, a name, a history. That makes every investigation a look at someone. The system-level picture becomes something an analyst assembles afterwards.
An analyst who looks at individuals by default sees too much and can still miss a synchronized move across channels. An analyst who never looks cannot follow a concentrated spike to its source. I designed the boundary between those failures.
- Role
- Product designer. I designed aggregate monitoring, the investigation workflow, scoped access, and the evidence trail.
- Workflow
- Transaction monitoring: identify unusual activity, explain its character, and justify the smallest necessary investigation before a case or SAR decision.
- Data coverage
- 8 channels, 182 days. 5 conventional rails and 3 digital-asset rails.
- Verification
- The shared model checks alert counts and rule behavior. The analyst evaluation compares disposition quality and identity access.
- Related products
- NICE Actimize and Nasdaq Verafin connect monitoring signals to investigations. This workspace makes the scope and reason for individual access part of that decision.
Inspiration. My July 2025 article on zero-knowledge analytics.
Keep the signal visible at the level of the market. Make every look at a person cost a reason, and keep the receipt.
3 questions before anyone is named
02 · ScopeIs something unusual, by a rule I can state?
Is it broad or concentrated?
Does it justify a look at an individual, and how small can that look be?
Notice at the aggregate · read its character · decide the smallest look · record it.
From signal to a justified investigation
Read the decision flow
- Notice an unusual channel
- Compare value and participation
- Explain the aggregate or inspect a pseudonym
- Request only the identity scope needed
- Record the disposition and re-mask
Aggregate first, identity on request
03 · The prototypeThe alert queue, heatmap, and case file hold the same selected event. Value, transactions, and distinct counterparties show whether a move comes from size or breadth. Both anomaly rules remain available, with the baseline and sample size next to the evidence.
Level 0 shows aggregate patterns. Level 1 opens persistent pseudonyms after a reason. Level 2 requires a reason, case reference, justification, and a minimum scope. A wider look needs a second approver. Identity closes when the analyst leaves the alert, and each step joins the audit line.
The monitoring workspace, live
The actual workspace, at the aggregate. Open it to compare the rules, read an alert, and justify a scoped look.
Authored inventory, counted from the data file
These are not user outcomes. They are counts the generator writes and the workspace reads, so each one can be checked in the table inside the tool.
Reading 1 concentrated spike
04 · A worked traceE1 starts with a 5.0× value multiple against its trailing baseline. Counterparties change by +0%; the top 3 carry 79% of value. The spike is concentrated, and the calendar does not explain it.
I request Level 1 for “Concentration review.” CP-4471 persists on 2 earlier days at smaller size. The Level 2 request selects 1 counterparty and 3 days, with a case reference and a justification tied to that recurrence. The disposition is “Escalated with identity.” The audit line records the pseudonymous view, identity request, identity reveal, disposition, and re-masking.
E2 is a different read. Instant-payment value rises +60% across a week, with +54% more counterparties and an unchanged top-3 share. It closes at Level 0 with a rationale: the participation is broad.
Concentrated vs broad
A name would add little to the broad surge. The concentrated spike warrants a closer, scoped look.
The look, on the record
The capture shows a completed, logged request. The interactive door starts masked; its request fields are empty.
The boundary is an access decision
Read the decision flow
- Aggregate evidence needs no individual reveal
- A reason unlocks pseudonymous inspection
- Identity needs a case and bounded scope
- Wider scope requires a second approval
- Leaving the investigation returns to masking
What my 2025 heatmap got wrong
05 · The revisionI wrote my July 2025 article on zero-knowledge analytics for DeFi analytics. Its best premise still holds: “a smoke alarm for the whole building, not a camera in one person’s room.” The article supplied that analogy; this rebuild gives the analyst a decision path.
- Data
- Random data on every load became a seeded dataset with designed events.
- Names
- Protocol brands became channels a bank payments desk runs.
- Rule
- Mean + 2.5 SD over the visible window became a calendar-adjusted MAD rule using 28 prior days. The old rule raises 6 month-end false alarms. First drift flag under the old rule: never; under the revised rule, day 2. Narrowing the view leaves 0 drift days flagged under the old rule. The revised flags stay fixed.
- Encoding
- Recolored anomalies that lost their magnitude became outlined cells that keep it.
- Premise
- No zero-knowledge proof is implemented. I designed the analyst’s side of a world where aggregates arrive with a validity guarantee.
2 rules, 1 grid
The original rule is still inspectable. Change the range to see which threshold moves with the view.
Who reads the monitor
06 · Audience- Monitoring analyst
- Alerts they can explain without opening a customer file.
- Monitoring lead or desk head
- System-level escalations that cross rails, early.
- Privacy officer
- Evidence that identity access is rare, scoped, and logged.
- Model risk
- A stated rule, its sample size, and its known failure modes.
- Internal audit
- An append-only record of every look and every disposition.
Where this transfers
07 · Same shape, other fields- Insider-risk monitoring
- Team-level patterns first; an individual employee only with a logged reason.
- Public health surveillance
- Case counts by area; a patient record only under a stated purpose.
- Platform trust and safety
- Abuse rates by surface; an account review only with a ticket.
- AI agent fleets
- Anomaly rates across sessions; a session replay only with a reason.
3 decisions
08 · Trade-offs- Friction before identity
- I accept slower individual investigations in exchange for fewer unnecessary looks and a record that shows it.
- A robust rule over a simple one
- I accept a harder explanation in exchange for a threshold that handles these calendar peaks and catches this drift. Both rules remain inspectable; the robust rule can still adapt to persistent drift.
- Persistent pseudonyms
- A behavior pattern without a name is still information. I accept that exposure because it lets the analyst escalate without identity.
Where I expect to be wrong: reason codes can become rubber stamps. A 40-character minimum does not stop boilerplate. The study measures justification quality. If it is poor, I would ask for the evidence the reason relies on instead of more text.
What the model establishes
Robust median/MAD comparisons help prioritize review; false-alarm rates have not been calibrated against live traffic. Access states demonstrate the intended workflow in the browser; server authorization is outside this prototype.
What I would measure
09 · The study this needs- Participants
- 6 to 8 transaction-monitoring analysts and leads.
- Task
- Work the full alert queue in this workspace and in a baseline where identities are visible by default. Counterbalance the order.
- Measures
- Correct dispositions against the reference readings, identity views per alert, counterparty-days revealed, time, and a blind rating of each justification.
- Pass line, set before any session
- Dispositions at least as accurate as the baseline, fewer identity views, and no missed system-level event (E4).
No sessions have been run. The study tests whether the extra access steps preserve investigation quality while reducing unnecessary exposure.
How it is built
10 · Stack and craft- A single workspace with local D3 and hand-built SVG. All runtime assets are local; it runs from disk.
- A seeded generator and a build step keep the heatmap, case file, and page on the same numbers.
- The access ladder and audit line are client-side and session-only. The digest detects payload changes; it is not a signature or a compliance record.
- Deep links select every state used on this page. Identity links always start masked.
- A roving-tabindex heatmap, labeled forms, and a sortable table provide keyboard and text paths. Text stays at least 12px; there is no animation.
- Built to a WCAG 2.1 AA target, not audited.
- Diagram sources: editable Excalidraw files with SVG and PNG exports.