21

Security and Privacy Boundaries

Source: Observability Platform source notes, section 21, “Security and Privacy Boundaries”

The enterprise problem and today’s slice

Enterprise problem: Telemetry can capture credentials, identifiers, prompts, database statements, file paths, and customer payloads, so one leaked attribute or over-permissive endpoint can turn the diagnostic platform into a breach path.

Whole-course context: The incoming versioned schema classifies fields and consumers; this day enforces minimization, redaction, tenant identity, endpoint protection, retention, and independently revocable access.

Today’s slice: We place controls at application, collector, storage, and query boundaries and prove both authorized access and denied exfiltration.

End-of-day evidence: A canary-secret exercise, cross-tenant denial, endpoint authorization probe, deletion result, and immutable audit trail demonstrate layered protection.

Still unsolved: Broader architectural anti-patterns and the full implementation sequence remain deferred until these controls are explicit.

Customer use cases

Security controls that are not tied to real access paths can leave high-risk telemetry untouched. These cases cover data entry and data retrieval.

Use case IDActorCustomer jobSuccess outcomeDenial or recovery evidence
D21-UC-01Application and platform engineerKeep secrets and unnecessary personal data out of durable telemetryA seeded canary is removed before storage while approved diagnostic fields remainScanner finds no canary in any backend and records the collector action plus an unaffected safe-field control
D21-UC-02Authorized incident responderQuery only the tenant and fields permitted for an incidentAn authorized bounded query succeeds and is auditedCross-tenant, mutating, or over-broad access is denied; token revocation blocks the next request

Actor-centred user stories

Policy prose alone cannot prove containment, so the stories require observed positive and negative paths at separate boundaries.

Story IDUse case IDsUser storyObservable acceptance conditions
D21-US-01D21-UC-01As an application and platform engineer, I want layered minimization and redaction, so that one missed safe-logging rule does not persist a secretCanary appears at controlled input, is absent from every durable backend, and a safe correlation field remains queryable
D21-US-02D21-UC-02As an incident responder, I want least-privilege telemetry access, so that investigation authority cannot become tenant-wide administrationAuthorized query, cross-tenant denial, protected mutation denial, audit event, and post-revocation denial are observed

End-to-end product flows

A checkbox cannot show where sensitive data was removed or where access was denied. These flows preserve actor, resource, scope, and immutable evidence at each boundary.

Flow IDUse case IDsPathTriggerNumbered stepsTerminal evidence
D21-FLOW-01D21-UC-01HappyEngineer emits a fixture containing a canary secret and allowed trace reference1. Safe library suppresses known fields.<br>2. Collector allowlist and redaction process remaining data.<br>3. Tenant identity and limits are applied.<br>4. Backends ingest accepted fields.<br>5. Scanner queries every store for the canary and control.Actor, fixture hash, policy revision, expected absence/presence, observed backend results, environment, timestamp, trace ID, and scan ID
D21-FLOW-02D21-UC-02DeniedResponder token requests another tenant and then attempts a protected Alertmanager mutation1. Query proxy authenticates token.<br>2. Tenant and scope checks reject the query.<br>3. Mutation gateway rejects the silence action.<br>4. Token is revoked.<br>5. An allowed control query then fails as expected after revocation.Subject, resource, requested scopes, denials, prior authorized control, revocation version, environment, timestamp, and audit event IDs

System design derived from the flows

One perimeter control is insufficient because applications, collectors, stores, and query endpoints fail differently. Defense in depth keeps each boundary independently testable and revocable.

Use case IDEntry pointResponsible servicesAuthoritative storeFailure evidence
D21-UC-01Telemetry fixture submission and privacy scanSafe instrumentation library, OTel Collector or Alloy processors, tenant router, backend scannersVersioned privacy-policy registry owned by security; backends own retained telemetryCanary found, redaction error, unclassified attribute, dropped safe control, or limit breach
D21-UC-02Identity-aware query and mutation proxiesIdentity provider, authorization policy engine, query proxy, Alertmanager gateway, audit serviceAccess-policy registry and append-only audit store owned by securityCross-tenant result, protected mutation accepted, missing audit event, or revoked token still accepted

Data model and ownership

Security evidence becomes unverifiable when policy revisions and access decisions are mutable. Control-plane records retain policy and audit facts without copying sensitive payloads.

Generated-application database: Not created in this slice — privacy policies, grants, scans, and audit events are observability control-plane state.

Record or entityStore and ownerPrimary keyForeign key or opaque referenceTenant keyMaterial constraintLifecycle and deletionUse case IDs
PrivacyPolicyRevisionSecurity policy registry, privacy engineering ownerpolicy_revision_idNone — immutable root revisionorganization_idAllowed, transformed, forbidden, and retention classes are explicit; published revisions are immutableDraft, approve, activate, supersede, retain for audit, delete only after regulatory retentionD21-UC-01, D21-UC-02
TelemetryAccessGrantIdentity store, security ownergrant_idOpaque subject and policy-revision referencestenant_idResource, action, scope, purpose, expiry, and independent revocation are mandatoryIssue, expire or revoke, retain audit metadata, purge token material immediatelyD21-UC-01, D21-UC-02
SecurityProbeRunEvidence store, security validation ownerprobe_run_idOpaque fixture, grant, policy, and backend referencestenant_idExpected and observed positive/negative results, environment, timestamp, and artifact hash are immutableRetain verdict to compliance policy, expire canary payload promptly, preserve non-sensitive audit factsD21-UC-01, D21-UC-02

Layered controls and threat boundaries

Relying on engineers to remember every dangerous field fails under new libraries and incident pressure. Minimize first, then enforce overlapping controls.

BoundaryControlsFailure to test
ApplicationData minimization, safe libraries, explicit field classification, consent where requiredA forbidden field is emitted by a new code path
CollectorAllowlist, attribute deletion or transformation, redaction, tenant enrichment, authentication, limits, backpressureCanary passes through, safe field is destroyed, or tenant identity is spoofed
StorageEncryption, tenant isolation, retention, backend limits, backups, deletionCross-tenant read, expired data remains, or backup deletion diverges
Query and administrationIdentity-aware proxy, least privilege, bounded queries, separate mutation permissions, auditingA query credential creates a silence or reads another tenant

OpenTelemetry’s official guidance says implementers remain responsible for deciding what is sensitive; processors can remove, filter, redact, or transform attributes but cannot determine business sensitivity automatically. Prometheus documents strong endpoint assumptions: monitoring endpoints should not be public, and access to Alertmanager can permit creating or deleting silences and creating or resolving alerts. Treat observability administration as privileged control-plane authority, not as a harmless dashboard permission.

Security falsification protocol

Controls can pass configuration review while leaking in another signal or backup, so probe every durable destination and access path.

  1. Create synthetic canaries for token, personal identifier, prompt fragment, and safe correlation value; never use real secrets.
  2. Send the fixture through metrics, logs, and traces where the type permits.
  3. Query hot storage, long-term object storage, derived metrics, exports, and backups for forbidden canaries and safe controls.
  4. Use an authorized tenant token, then test cross-tenant read, excessive time range, protected mutation, and expired token.
  5. Revoke the grant independently and retry the formerly authorized request.
  6. Verify audit events contain actor, resource, scope, precondition, expected, observed, environment, timestamp, and immutable ID without copying the secret.
  7. Falsify the design if any forbidden canary persists, safe control disappears, mutation crosses authority, or revocation is delayed beyond policy.

Key takeaways

Observability data is sensitive production data and its endpoints can carry administrative power.

  • Prevent collection where possible; redact at the collector as a second boundary.
  • Tenant identity, access, retention, encryption, scanning, and audit are independent controls.
  • Collector processors enforce declared policy but cannot infer business sensitivity.
  • Query and mutation authority must be separately scoped and revocable.

Checklist

Security is ready only when denials and deletion are observed, not merely configured.

  • [ ] Synthetic canaries are absent from every durable and derived store.
  • [ ] Safe diagnostic controls remain queryable.
  • [ ] Cross-tenant reads and protected mutations are denied.
  • [ ] Grant revocation is independently verified.
  • [ ] Retention and deletion include backups and object storage.

Sources

Security behavior is high-stakes and version-sensitive, so claims were verified against official primary documentation.