Last updated: 16 Dec 2021
Fig is a developer tool for the Terminal. The Terminal is a sensitive environment. Therefore, Fig takes your data and your privacy very seriously.
Fig does not send sensitive data to the cloud. Our products (autocomplete, sidebar, apps etc) process data locally on your device.
Fig tracks basic usage metrics (outlined below). This enables us to make better product decisions and provide better support. At this time, telemetry is de-anonymized.
You can disable telemetry by running `fig settings telemetry.disabled true`
Each time you run a fig cli command (like
fig update) we send a ping to Fig's servers. The CLI is an important part of the Fig app. If commands like
fig update break, up to date versions of Fig can't be downloaded for users, meaning Fig will break. Note: only the subcommand selected (e.g. "update" or "source") is sent. An arguments passed to the subcommands are not sent.
We send a ping each time you select an autocomplete suggestion. The ping contains the root command you used (e.g. git, cd, aws, etc) and nothing else (ie if you select "commit" in "git commit", all we see is git). We will soon phase this out in favour of the Terminal Usage ping below.
Sometimes developers use the Terminal 100+ times a day. Other times they don't use it at all. If somone uses Fig 50 times one day but 0 times the next day, is it because they turned off Fig or because they didn't use a Terminal? Having a high level picture of this without being instrusive will help us make better product decisions.
Therefore, once a day, Fig sends a single ping with aggregated metrics on how long you used the Terminal, how many times Fig popped up, and how many times you interacted Fig.
Fig uses Sentry as its error tracking tool. Fig send events to Sentry if the Fig app crashes and is then restarted. We also send any uncaptured errors. We make sure these errors do not contain any potentially sensitive data (e.g. breadcrumbs do not contain any logs that could contain terminal keystrokes)
Fig sends a ping for basic app events like login, quit, onboarding completion, and turning autocomplete on/off.
Other than what is mentioned above, Fig never sends data from your Terminal or device to its servers unless you specifically opt into it.
Our aim with de-anonymising telemetry is to work more closely with our users. When we say closely, we actually want to personally get to know our first 1,000 users. As you will realise when you download Fig, we send you an email asking for feedback and we take action on this feedback. We see de-anonymity as a two way street: if you are willing to try our product and let us know who you are, you should 1. know who we are and 2. have a say in shaping our product and vision.
Fig is still early. Making product decisions in the early days with minimal users and minimal data is very hard. Rather than track every single event and never speak to you, we are asking to see high level metrics about your usage of Fig. We may then send you an email asking for some more information e.g. if there is a bug, we would love to know what happened, if everything is okay, and what steps we could take to reproduce it.
Inevitably, there will be users who, for whatever reason, don't want their usage of Fig to be personally tracked. Of course. It's your data and software on your device. You shouldn't even need a reason. We want to cater to these users. And we will. But unfortunately, we are so early on in the process of building Fig that we need to be able to speak to our users. De-anonymising telemetry for the time being while minimisng the events tracked enables us to do this in a non intrusive way. But it is of course not for everyone. Therefore, once we reach a critical mass of usage in the coming months, we will then anonymise all telemetry, making Fig more accessible.
You can try this: with Fig's autocomplete running, try turning off your wifi. Autocomplete will still work. However, if you restart Fig, it will stop working.
If you ever have any questions about how Fig manages your data, please feel free to email us at any time: firstname.lastname@example.org