TelemetryDeck.Hash (telemetry_deck v0.1.0)

Copy Markdown View Source

Produces privacy-preserving TelemetryDeck identifiers.

TelemetryDeck recommends sending a stable hashed user identifier as clientUser. TelemetryDeck.Hash provides small helpers for generating those values before they leave your application.

Summary

Functions

Returns an HMAC-SHA256 hash for a user identifier and secret.

Returns a SHA-256 hash for a string.

Functions

client_user(identifier, secret)

(since 0.1.0)
@spec client_user(String.t(), String.t()) :: String.t()

Returns an HMAC-SHA256 hash for a user identifier and secret.

Use this when you want deterministic identifiers that cannot be reversed without your application secret.

Examples

iex> TelemetryDeck.Hash.client_user("user-123", "secret")
"73ea9a4ea270455073276422e7ff65be4435c4c01af927bb09a44c36622382da"

sha256(value)

(since 0.1.0)
@spec sha256(String.t()) :: String.t()

Returns a SHA-256 hash for a string.

Examples

iex> TelemetryDeck.Hash.sha256("relay")
"682fbae20f3428bcec4c117c57bea18d438c4758d972909b41dbe22884e0d6b8"