~/bpabatao
← back to index
~/case/observability

Observability & Accountability

The platform that makes a small team's fleet legible: who did what, which accounts look wrong, and what an incident actually cost.

Role
Sole author
Period
2026
Ownership
Sole author
Stack
MongoDB · Datadog · CloudWatch · WAFv2 · Fastify · React
tenant portalscore apiproviderscapture layerdeep-redacted payloadsaccount to ip fan-outtakeover alertadmin writeskept 365 daysadmin readskept 90 daystelemetrykept 90 daysbenign auth failures folded out, so the error rate means something

Problem

A fleet of tenant portals produced plenty of logs and very little answerable truth. Which admin changed that account? Is this login pattern normal? Is that error rate real or is it the same benign auth failure counted a thousand times? Every question meant someone reading raw streams.

Constraints

Utility customer data, so retention and access are not free choices. The dashboard had to be usable during an incident by whoever was on call, not only by its author, and it had to run inside the same cost envelope as everything else on the platform.

Architecture

Capture is universal: a wrapper records calls out to identity, mail, payment and billing providers alike, so an event exists whether the failure was ours or theirs, with payloads deep-redacted so tokens and provider passwords never reach the store.

Accountability is tiered. Admin writes record which fields actually changed and are kept for a year; admin reads and impersonated sessions are captured too, attributed to the acting admin, and kept for ninety days. The tiers are deliberate - the trail that answers 'who changed this' outlives the one that answers 'who looked'.

Signal beats volume: benign authentication failures, account lockouts and revoked tokens are folded into an expected class so the error rate means something, an account-to-IP fan-out view surfaces anomalies, and an alert fires on the email-reversal pattern that precedes account takeover. Per-pattern batch analysis replaced per-event analysis so the AI spend tracks patterns, not traffic.

It stays fast under load: a composite index on tenant, environment, user and timestamp cut the sessions view 43x, and Bedrock spend is attributed to its own client in the cost dashboard so AI cost is visible next to everything else.

Outcome

← all projects