Portal Community

Sensitive Data Risk Categories

Risk CategoryExamplesWhere It AppearsDefense Layer
Authentication credentialsPasswords, API keys, OAuth tokens, JWT secretsLog messages, span attributes, HTTP headersINodeLogger sanitizer + OTel Collector redaction
Personal identifiers (PII)Email addresses, SSN, phone numbers, national IDsWorkflow input/output data in logsINodeLogger sanitizer + field-level redaction
Financial dataCredit card numbers, bank account numbersPayment workflow logsINodeLogger sanitizer (regex patterns)
Health data (PHI)Diagnoses, prescription data, patient IDsHealthcare workflow logsAllowlist logging (log what is safe, not what exists)
Cross-tenant dataTenant A seeing Tenant B's metrics or logsGrafana dashboards, Loki queriesLoki multi-tenancy + Grafana access control

Defense-in-Depth Architecture

1

Source: INodeLogger sanitization (BizFirstGO)

Before a log line is emitted, BizFirstGO's INodeLogger passes the message through LogSanitizer.cs, which applies regex patterns to mask known PII patterns. This is the first and most effective defense — data never leaves the service if it matches a mask pattern.

2

Transport: OTel Collector redaction processor

The OTel Collector's redaction processor applies a second layer of attribute-level scrubbing to spans and logs passing through. Catches anything the service-level sanitizer missed — acts as a safety net.

3

Storage: Loki multi-tenancy enforcement

Loki with auth_enabled: true enforces tenant isolation at the storage layer. Tenant A's logs are stored in a separate keyspace and cannot be queried by Tenant B — even if a Grafana dashboard is misconfigured.

4

Access: Grafana role-based access control

Grafana roles (Viewer/Editor/Admin) and team folder permissions control which humans can see which dashboards. Viewers cannot use Explore to make ad-hoc queries. Cross-tenant dashboard access is blocked by folder permissions.

5

Remediation: GDPR deletion API

If sensitive data is discovered in Loki despite the above layers, Loki's delete API allows targeted deletion of specific log lines matching a pattern — without deleting the entire tenant's logs.

Sanitization Must Be Enabled Before First Use

The BizFirstGO LogSanitizer and OTel Collector redaction processor must be configured before the first production workflow execution. Sensitive data written to Loki cannot be efficiently "un-written" — it can be deleted, but the deletion process is slow and may leave traces in compacted chunks. Prevention is always better than remediation.