Files
NageshbansalandGitHub 5b1cd87b58 feat(ledger): use anonymousId for segementprovider (#94)
#### Features

- Add getDistinctID() using the machineid library to generate a stable,
non-reversible HMAC-SHA256 hash of the OS machine ID for Segment's
AnonymousId, enabling cross-session event correlation without collecting
PII.

Related: https://github.com/SigNoz/platform-pod/issues/1910
2026-04-07 22:45:43 +05:30

1.9 KiB

Ledger

Foundryctl maintains an anonymous usage ledger to help the SigNoz team understand how the tool is used, identify common errors, and prioritize improvements. No personally identifiable information (PII) is collected.

What is collected

Each command execution sends a single event with the following properties:

Property Description Example
platform Deployment platform from casting.yaml aws, docker, linux
mode Deployment mode docker, systemd, kubernetes
flavor Deployment flavor compose, binary, helm
patches_configured Whether patches are defined true / false
patch_count Number of patch entries 0, 2
infrastructure_enabled Whether IaC generation is enabled true / false
metastore_kind MetaStore backend type postgres, sqlite
telemetry_store_kind TelemetryStore backend type clickhouse
telemetry_keeper_kind TelemetryKeeper backend type clickhousekeeper
success Whether the command succeeded true / false
error Error message (on failure only) missing tool: docker
os Operating system linux, darwin
arch CPU architecture amd64, arm64
foundry_version foundryctl version 0.1.0

Identity

Events are attributed using a hashed machine ID (HMAC-SHA256 of the OS machine ID with an application-specific salt). The hash is not reversible and cannot be correlated across different applications. No usernames, emails, IP addresses, hostnames, or file contents are sent.

Tracked commands

All commands send the same foundryctl event, differentiated by the command property:

  • gauge
  • forge
  • cast
  • catalog

How to disable the ledger

Per-command

Use the --no-ledger flag on any command:

foundryctl forge --no-ledger
foundryctl --no-ledger cast