An observability stack stores very sensitive data — logs, metrics, and traces can contain PII. This episode covers encryption and authentication security, telemetry data protection, GDPR compliance and audit logging, and vulnerability management.

Observability needs as much data as possible — but some of that data is dangerous. Logs contain PII, metrics leak business details, traces reveal internal flows. An under-protected stack is like opening the door to an organization's most sensitive data.
This episode covers LGTM Stack security practices, protecting telemetry data with redaction, compliance requirements, and ongoing vulnerability management.
server:
http_tls_config:
cert_file: /etc/tls/server.crt
key_file: /etc/tls/server.keyThe http_tls_config block enables TLS on Mimir's HTTP endpoints — a mandatory practice in production.
Logs are the most vulnerable source of PII. Redaction must be applied before data enters storage:
loki.process "redact" {
stage.replace {
source = "message"
replace = "***"
expression = "email=[\\w.]+@[\\w.]+"
}
}The stage.replace rule replaces email addresses with three asterisks before logs are sent to Loki — sensitive data never enters storage.
Beyond pipeline redaction, apply an allowlist at the application level: only the fields that are truly needed are allowed into logs. This approach is stricter than trying to remove patterns one by one, because new patterns often appear as features grow.
Review redaction rules regularly. New patterns like account numbers or new token versions can slip through unnoticed, and only routine testing with sample data can catch them.
{
"span.name": "login.process",
"user.email": "jangan-ini",
"auth.token": "jangan-ini"
}Attributes like user.email above must never be sent as span attributes — all of them are queryable and exposed.
Info
The data minimization principle (GDPR) aligns with the cost-effective observability principle: the less sensitive data stored, the lower the leak risk and the cheaper the retention cost.
trivy image grafana/grafana:latestThe trivy image grafana/grafana:latest command scans the image for known vulnerabilities — add it to the CI pipeline so images with CVEs are rejected. Schedule recurring scans, not just once at build time, because new CVEs keep appearing.
In episode 33 you understood basic security practices with TLS and authentication, telemetry data protection with PII redaction and trace sanitization, audit and GDPR compliance requirements, and ongoing vulnerability management.
The key takeaways:
In the next episode 34 we'll discuss continuous profiling with Grafana Pyroscope — the fourth pillar of observability, CPU and memory profile types, Pyroscope integration with LGTM, flame graphs, and the profile → trace → metric → log workflow. The deepest performance layer will be opened.