EncryptedTelemetryStore

class EncryptedTelemetryStore(context: Context, policyProvider: () -> TelemetryPolicy, retentionProvider: () -> RetentionPolicy, clock: Clock, crypto: CryptoProvider) : TelemetrySink

Telemetry store designed for worldwide regulatory sanity:

  • Data minimization: allow-listed fields only

  • Local-first storage

  • Encryption at rest when crypto is enabled

  • Deterministic retention by UTC day

File format:

  • If crypto enabled: JSON line is encrypted and base64url-encoded per line (append-friendly)

  • Else: plain JSONL

Constructors

Link copied to clipboard
constructor(context: Context, policyProvider: () -> TelemetryPolicy, retentionProvider: () -> RetentionPolicy, clock: Clock, crypto: CryptoProvider)

Functions

Link copied to clipboard
open override fun emit(event: String, fields: Map<String, String> = emptyMap())
Link copied to clipboard
Link copied to clipboard