What is collected
Collected
| Data point | Example |
|---|---|
| Command name | email init, sms status |
| Success or failure | true / false |
| Command duration | 45000 ms |
| CLI version | 1.2.0 |
| Operating system | darwin, linux, win32 |
| Node.js version | v20.10.0 |
| Service type | email, sms |
| Configuration preset | starter, production, enterprise |
| Error codes | AWS_CREDENTIALS_INVALID (not messages) |
| Hosting provider | vercel, aws, railway, other |
Not collected
Wraps never collects:- AWS account IDs or credentials
- IAM role ARNs
- Domain names or email addresses
- IP addresses
- File paths or directory structures
- Template contents
- Environment variables
- Error messages (only standardized error codes)
- Command flag values (only whether a flag was passed)
- Any user-generated content
Anonymous identification
The CLI generates a random UUID the first time it runs and stores it locally. This ID is used only to aggregate usage patterns — for example, to understand the sequence of commands a typical user runs. It cannot be linked to your identity, email address, or AWS account. Config file location:| OS | Path |
|---|---|
| macOS | ~/Library/Preferences/wraps/telemetry.json |
| Linux | ~/.config/wraps/telemetry.json |
| Windows | %APPDATA%\wraps\Config\telemetry.json |
How to opt out
Telemetry is enabled by default. You can disable it using any of the following methods.- CLI command
- Environment variable
- DO_NOT_TRACK
- CI/CD
Disable telemetry persistently:Re-enable it:Check current status:
Opt-out priority
When multiple methods are configured simultaneously, they are checked in this order (highest to lowest priority):DO_NOT_TRACK=1WRAPS_TELEMETRY_DISABLED=1- CI environment detection
- Config file setting
Debug mode
To inspect exactly what the CLI would send — without actually sending it — use debug mode:Data retention and privacy
| Data | Retention |
|---|---|
| Raw events | 90 days |
| Aggregate statistics | Indefinite (no PII) |
| Vercel proxy logs | 7 days |
GDPR compliance
Wraps telemetry is designed to be GDPR-compliant:- Data minimization — only anonymous, operationally necessary data is collected
- No PII — the anonymous UUID cannot identify individuals
- Transparency — this page documents everything that is collected
- Right to erasure —
wraps telemetry disablestops all future collection - Right to access —
wraps telemetry statusshows your current configuration - Opt-out model — telemetry is disclosed at first run and can be disabled at any time
FAQ
Can I see the telemetry source code?
Can I see the telemetry source code?
Yes. Wraps is open source. The telemetry client is in
packages/cli/src/telemetry/ and the server-side endpoint is in apps/website/api/telemetry.ts in the GitHub repository.Do you sell telemetry data?
Do you sell telemetry data?
No. Telemetry data is used solely to improve Wraps. It is never sold, rented, or shared with third parties.
Can you identify me from the anonymous ID?
Can you identify me from the anonymous ID?
No. The UUID is randomly generated on your machine and stored locally. Wraps has no way to link it to your identity, email address, or AWS account.
Will telemetry slow down my commands?
Will telemetry slow down my commands?
No. Telemetry runs asynchronously with a 2-second timeout and fires-and-forgets — it never blocks command execution. Network errors are silently ignored. The CLI continues normally if the telemetry server is unreachable.
How do I verify telemetry is disabled?
How do I verify telemetry is disabled?
Run
wraps telemetry status. The output shows the current state and the path to the config file:What if I found a bug where PII was sent?
What if I found a bug where PII was sent?
Report it immediately:
- GitHub Issues: github.com/wraps-team/wraps/issues
- Security email: [email protected]
