Last updated: October 13, 2026
This policy is from Buoy Design, Inc. ("Buoy," "we," "us") and covers the open source tools, the GitHub App, the dashboard and buoy.design.
BUOY_TELEMETRY=0 or DO_NOT_TRACK=1 is set. buoy ahoy telemetry shows the payload and turns it on or off.buoy ahoy login and sync, the CLI uploads scan results (findings with file paths, lines and flagged values) to your Buoy account..buoy.yaml, token and theme files, and DESIGN.mdOn Cloudflare Workers, Queues and Containers. Full clones go into a temporary directory inside a Cloudflare Container and are deleted when the scan ends.
#3b82f6), the message, the suggested token, and the commit author when git provides oneDESIGN.md if you use the dashboard editorWe do not store your source files or full diffs in our database.
Findings come from deterministic rules. A model never decides whether something is a finding. An LLM only writes prose, in these places. Requests go through OpenRouter, which routes each one to a provider that hosts the model.
Repos in builder mode (design maturity below 50, or not scored yet), when a review has more than two findings or a repeated pattern worth coaching
Sent: Up to 10,000 characters of the pull request diff, the findings, your token and component names, and the first line of recent commit messages for files with findings. The model can also ask for full file contents (up to 50,000 characters per file), code search results, commit history and blame, including author names and dates.
Model: Devstral 2, falling back to GPT-4o-mini
When someone mentions @ahoybuoy on a pull request
Sent: The question, earlier comments in that pull request conversation, your token and component names, and any repository files, search results, commit history or blame the model asks for.
Model: Devstral 2, falling back to GPT-4o-mini
Repos whose .buoy.yaml sets instructions
Sent: Your instructions, the number of findings and the names of the files they are in. No code.
Model: Devstral 2, falling back to GPT-4o-mini
When a signed-in user asks a question in the dashboard
Sent: The question and the dashboard data for that repo: scan statistics, findings with file paths and flagged values, token names and values, and pull request history.
Model: Qwen3.5-Flash
As of October 13, 2026, OpenRouter serves Devstral 2 from Mistral AI, GPT-4o-mini from OpenAI or Microsoft Azure, and Qwen3.5-Flash from Alibaba Cloud. How long OpenRouter and those providers keep requests is set by their own policies.
There is no per-repo switch to turn LLM prose off yet. If you need deterministic findings with no LLM at all, the open source GitHub Action gives you the same findings in your own CI.
buoy_vid, one year). Fields that look like emails or tokens are dropped.These companies process data for us. We will update this list when it changes.
Hosting and processing for the website, API, GitHub App and dashboard: Workers, Pages, Containers, Queues, Durable Objects, D1, KV, Analytics Engine, Workers Logs and Web Analytics
Data: Everything the GitHub App and website process, including temporary repository clones during scans. Workers Logs are kept for 7 days.
GitHub App installation, repository access, GitHub Marketplace and GitHub sign-in
Data: Pull request and repository data read through the GitHub API, and the reviews, comments and checks Buoy posts
Routes LLM requests to the provider hosting each model
Data: The prompts described in "Where an LLM is used"
Hosts Devstral 2 (mistralai/devstral-2512), the main model for review prose
Data: Pull request prompts, when OpenRouter routes them to Mistral
Host GPT-4o-mini (openai/gpt-4o-mini), used when Devstral 2 fails
Data: Pull request prompts, when the fallback is used
Hosts Qwen3.5-Flash (qwen/qwen3.5-flash-02-23) for Ask Buoy and report titles
Data: Dashboard questions and the repo data sent with them
Dashboard sign-in
Data: Name, email address and GitHub identity of dashboard users
Product email to GitHub App users
Data: Name, email address, the email itself, and delivery, open and click events
Payments, only if you buy a paid plan
Data: Billing contact and payment details. Stripe holds card data; we do not.
Website download and update emails
Data: Email address and the download or list you signed up for
Delivers support form messages to us
Data: Name, email address and message
| Subprocessor | What for | Data |
|---|---|---|
| Cloudflare | Hosting and processing for the website, API, GitHub App and dashboard: Workers, Pages, Containers, Queues, Durable Objects, D1, KV, Analytics Engine, Workers Logs and Web Analytics | Everything the GitHub App and website process, including temporary repository clones during scans. Workers Logs are kept for 7 days. |
| GitHub | GitHub App installation, repository access, GitHub Marketplace and GitHub sign-in | Pull request and repository data read through the GitHub API, and the reviews, comments and checks Buoy posts |
| OpenRouter | Routes LLM requests to the provider hosting each model | The prompts described in "Where an LLM is used" |
| Mistral AI | Hosts Devstral 2 (mistralai/devstral-2512), the main model for review prose | Pull request prompts, when OpenRouter routes them to Mistral |
| OpenAI and Microsoft Azure | Host GPT-4o-mini (openai/gpt-4o-mini), used when Devstral 2 fails | Pull request prompts, when the fallback is used |
| Alibaba Cloud | Hosts Qwen3.5-Flash (qwen/qwen3.5-flash-02-23) for Ask Buoy and report titles | Dashboard questions and the repo data sent with them |
| Clerk | Dashboard sign-in | Name, email address and GitHub identity of dashboard users |
| Resend | Product email to GitHub App users | Name, email address, the email itself, and delivery, open and click events |
| Stripe | Payments, only if you buy a paid plan | Billing contact and payment details. Stripe holds card data; we do not. |
| Loops | Website download and update emails | Email address and the download or list you signed up for |
| Mailgun | Delivers support form messages to us | Name, email address and message |
We do not sell your personal information. Beyond the subprocessors above, we share data only:
Data is encrypted in transit with TLS, and Cloudflare encrypts the data we store at rest. We also encrypt GitHub access tokens ourselves. Access to production data is limited to the people who run Buoy. No system is perfectly secure, so please email privacy@buoy.design if you find a problem.
Depending on where you live, you may have the right to:
Our services are not intended for children under 13. We do not knowingly collect personal information from children under 13.
When this policy changes, we will post the new version here and update the date at the top.