TLDR:
We don't collect or store any of your code.
We've disabled training on your data from our providers (OpenAI, Anthropic, VoyageAI, etc.)
The only data we collect is analytics (what features you use, crash logs, etc.).
How is my data used?
Alex uses several models and data providers to provide all of it's functionalities.
We've made sure that your code is not used for training on any of the platforms we use.
Our Servers
Alex makes all API calls for LLMs through our own servers at https://api.alexcodes.app, hosted in the United States through Render.
We create the prompts with your given info (any codes selected in the context) and route it to our model providers.
We do not store or save any of your code, or any of the responses generated from the LLMs.
If we ever decide to collect data for training, we will make an explicit button that will ask you to opt-into model training. As an existing user, you will be opted-out by default.
Code Embeddings
Alex automatically embeds all your Xcode project's code so that it can perform Codebase search and Semantic-Search in its advanced search panel (Cmd+P).
Your code is sent via our server to VoyageAI -- our code embedding provider. We have explicitly opted out of their data collection program, so that none of your code is used for improving their models.
Your code embeddings for each xcode project are stored in a SQLite DB on your computer (under Application Support/com.DanielEdrisian.AlexSideBar).
Chat History
All your chat history is saved locally under the same Application Support folder as above ^. None of it is stored on our server.
Chat Models:
We use OpenAI, Anthropic, and Perplexity as the chat models. All requests sent to these services are opted out of model training, meaning none of your data is stored on their servers.
Code-Apply Models:
We use Groq, Cerebras, Fireworks AI, and Google (Gemini) for the Apply-Code feature. All requests sent to these services are opted out of model training as well, so none of your data is stored on their servers.
Analytics & Crash Monitoring
We use Posthog and Sentry for collecting analytics, crash reports, and performance monitoring.
For Posthog, we collect analytics events on how often each feature is used (such as Cmd+L, Cmd+K, etc.) We don't collect what was used in each action, only that they happened at X time.
For Sentry, we collect crash reports, error reports, and performance metrics (like frame drops and lags).
Both services capture your mac's metadata, like what OS you're running on, your IP address, and make identifiers to uniquely identify your events.
Firebase & Auth
We use Firebase for authentication and keeping track of O1-Preview credits.