StarForge collects telemetry data to help us understand usage patterns and improve the CLI. This document explains exactly what is collected, how to disable it, and what we do with the data.
- Opt-out by default: Telemetry is enabled by default but can be easily disabled
- No personal data: We never collect personal information, credentials, or sensitive data
- Anonymous ID: Usage is tracked with a random UUID, not tied to your identity
- Local-first: Telemetry is stored locally in your machine and only sent with explicit consent (future versions)
- Transparent: Full source code is available for audit
For each CLI command executed, StarForge collects:
- Command name: Which command was run (e.g.,
wallet,deploy,new) - Timestamp: When the command was executed
- Success/Failure: Whether the command completed successfully
- Duration: How long the command took in milliseconds
- Anonymous ID: A random UUID generated once per machine
{
"timestamp": "2025-01-15T10:30:45Z",
"event": "deploy",
"properties": {
"success": true,
"duration_ms": 2500
},
"anonymous_id": "550e8400-e29b-41d4-a716-446655440000"
}- ❌ Wallet addresses or secret keys
- ❌ Contract code or source files
- ❌ Configuration values (network URLs, custom networks)
- ❌ Error messages or stack traces
- ❌ User identity, email, or personal information
- ❌ File paths or local system information
Disable telemetry permanently using the config command:
starforge config set telemetry falseView your current telemetry setting:
starforge config show
# or
starforge config get telemetryRe-enable telemetry:
starforge config set telemetry trueDisable telemetry for a single command or session:
# Disable for a single command
STARFORGE_TELEMETRY=0 starforge deploy --wasm my_contract.wasm
# Disable for the entire shell session
export STARFORGE_TELEMETRY=0
starforge wallet list
starforge deploy --wasm my_contract.wasmAccepted values to disable telemetry:
0,false,off,disabled,no
For automated environments, set the environment variable:
# In GitHub Actions
env:
STARFORGE_TELEMETRY: "0"
# In GitLab CI
script:
- export STARFORGE_TELEMETRY=0
- starforge deploy --wasm my_contract.wasmYour telemetry preference is stored in:
~/.starforge/config.toml
Example:
network = "testnet"
telemetry_enabled = false
[[wallets]]
name = "deployer"
public_key = "GABC...XYZ"
# ...Telemetry logs are stored in:
~/.starforge/data/telemetry.log
~/.starforge/data/anonymous_id
These files are created only if telemetry is enabled.
In future versions, StarForge may offer opt-in remote telemetry (sending anonymous data to a analytics service). This will be:
- Completely optional: Requires explicit opt-in, never enabled by default
- Aggregated: Only high-level statistics are sent (e.g., "10 deployments per day", not individual events)
- Auditable: Full details published on what is collected and where it goes
- Respectable: Always respects
STARFORGE_TELEMETRY=0and config settings
If you have privacy concerns or questions about telemetry:
- Review the code: Full source available at https://github.com/Josetic224/StarForge
- Check the logs: Inspect
~/.starforge/data/telemetry.logto see what was collected - Disable it: Use
starforge config set telemetry falseif you prefer not to participate - Report issues: Open an issue on GitHub with any privacy concerns
- PRIVACY_POLICY.md - Full privacy policy
- SECURITY_LOGGING_AUDIT.md - Security logging details
- GitHub Repository - Open source, fully auditable