RedwoodJS Telemetry

RedwoodJS collects completely anonymous telemetry data about general usage.
You can opt-out of sending this data at any time.

Why are you collecting telemetry data?
We use this data to determine trends in usage and help determine if a recent release is causing an abnormal number of errors.
When is telemetry being sent?
Whenever a Redwood CLI process is started, such as yarn rw dev. There should be no performance impact as a separate process is spawned and data is sent in the background, separate from the originating CLI process.
What data is being collected?
Here is an example JSON packet containing the telemetry data for running yarn rw info:
{
    type: 'command',
    command: 'info',         // actual CLI command that was invoked, including flags
    ci: false,               // whether or not this is running in a CI environment
    duration: 2353,          // how long the process took, in milliseconds
    NODE_ENV: 'development', // the value of NODE_ENV, if set
    complexity: '4.2.6.3',   // a measure of how complex the app is (route, service, cell and page counts)
    system: '8.32',          // cpu core count, memory in GB
    sides: 'web,api',        // sides that are in use
    shell: 'zsh',
    nodeVersion: '14.17.1',
    yarnVersion: '14.17.1',
    npmVersion: '14.17.1',
    vsCodeVersion: '1.58.0',
    redwoodVersion: '0.35.1',
    os: 'macOS',
    osVersion: '11.4',
    system: '8.32'          // number of cpu cores and system memory
  }
Can this data be used to identify me?
Not directly. No personal information is sent. A UUID is sent along with the payload, but it is rotated every 24 hours. It's always possible that given enough data points, you could be fingerprinted, but Redwood does not employ this technique and never will. Any "sensitive" data, like the name of a page or cell that is being generated is removed from the data before being collected. For example, generating a new page would result in the command being recorded as the literal string "generate page [name]".
What about my secrets?

We do not collect any metrics which may contain sensitive data.

This includes, but is not limited to: environment variables, file paths, contents of files, logs, or serialized JavaScript errors.

How do I turn it off?
Set an environment variable, either in your app's .env file, or anywhere that creates variables for your user space, like .bashrc or .bash_profile:
REDWOOD_DISABLE_TELEMETRY=1