Privacy Policy
Last updated: October 24, 2026
Overview
Decker is a desktop application developed by fromzeroagain OÜ (registry code 17447933), registered at Sepapaja tn 6, 15551 Tallinn, Harju Maakond, Estonia. Local project scanning and runtime stay on your machine; account, licensing, optional Share and project connections, updates, the website, and usage data you choose to send use the online services described below. This policy explains what data we collect when you use the app and our website. For any privacy-related inquiries, contact us at hello@rundecker.com.
Data Stored on Your Device
Decker keeps its settings in a .decker folder in your home directory. This includes your saved project list (each project's name, folder path, detected services, start commands, and ports), the GitHub repository, Vercel project and Supabase project you choose for each project, the signed-in account's ID and email address, a random installation identifier, the results of pushes Decker followed (commit, branch, result, failed job names, and the live domain), and a record of what connected AI coding tools did (time, tool, project and service names, and a short result). Decker does not copy your source code or environment variable values into these files.
Your sign-in refresh token, any GitHub or Vercel tokens you connect, and the installation identifier are stored in your operating system's credential store. The app also writes diagnostic logs to your operating system's standard log folder.
Your project files leave your device only when visitors open a URL you share with Share (they receive what your local service serves) and in error reports as described under Error Monitoring. AI coding tools you connect read project status and logs on your device; see AI Tool Connections.
Legal Basis for Processing
Under the EU General Data Protection Regulation (GDPR), we process your personal data on the following legal bases:
- Account data — performance of a contract (Art. 6(1)(b)), necessary to provide the service you signed up for, including starter access
- Payment and license data — performance of a contract (Art. 6(1)(b)), processed only when you purchase a Lifetime license or request a refund
- Payment records — legal obligation (Art. 6(1)(c)), required for tax and accounting compliance
- Error monitoring — legitimate interest (Art. 6(1)(f)), to maintain service stability and fix bugs
- Web analytics — legitimate interest (Art. 6(1)(f)), to understand usage patterns and improve the service (DataFast cookieless analytics without persistent analytics cookies)
- Product usage data — consent (Art. 6(1)(a)), given in Decker and withdrawn at any time in Settings
- Share and project connections — performance of a contract (Art. 6(1)(b)), activated only when you explicitly use these features
Account Data
When you create an account, we store your email address and the authentication provider you used (GitHub or Google). We use your email address to identify your account and to send service notices about your account, purchases, security, and changes to our Terms or this policy. We do not send marketing email without your consent. During an ordinary Desktop sign-in, the callback places the resulting session in an expiring, one-time server-side handoff without storing the provider token. Before the handoff is released, your browser hands a one-time code back to Decker on the same computer, so a sign-in finished in someone else's browser does not sign in your Decker. The Desktop consumes that handoff once, stores its refresh credential in your operating system's credential store, and keeps the active access token in memory. A provider credential is included only when you explicitly connect GitHub Repository Access or Vercel for an integration feature.
When you sign in on the Desktop app, we record a device activation for your account: a random installation identifier, your computer's hostname as the device name, the operating system version, and activation, last-seen, and revocation times. We use these records to enforce device limits and to let you manage your devices.
We record when you first agree to the Terms of Service and acknowledge this Privacy Policy, which happens when you continue at sign-up or sign-in.
Payment Data
If you purchase a Lifetime license, payments are processed by Stripe. We do not store your credit card details. We store your Stripe customer ID and the license, checkout, payment, and refund identifiers or status needed to reconcile payments and manage Lifetime access. Starter users may have no payment data associated with their account.
Error Monitoring
We use Sentry to monitor errors and crashes in both the website and the desktop app. This includes error stack traces, device and operating system information, and application logs. On the website, 10% of user sessions are recorded as replays to help us debug issues, and 100% of sessions where an error occurs are recorded. Crash reports from the desktop app include native minidump data. The desktop app also sends basic app session information (release, start and end time, and whether the session ended normally) and error messages from features such as Play, Share, and project connections; these messages may include file paths relative to your project folder, but not file contents.
Product Usage Data (Desktop App, Optional)
Decker asks once whether it may send a record of which features you use, and sends it only after you allow it in Decker. Each record contains the kind of event (for example, a deploy result checked or the project limit shown), when it happened, the app version, your operating system, and counts or fixed values where relevant (such as how many projects you saved or which Decker tool an AI tool used). It is linked to your Decker account so we can see what helps people and where they get stuck, and it never includes project names, folder paths, repository names, code, logs, or environment variable values. You can turn it off at any time in Decker → Settings → General; records not yet sent are then discarded.
GitHub, Vercel, and Supabase Connections (Optional)
Project connections are optional features. GitHub and Vercel OAuth callbacks use an expiring, one-time server-side handoff before the Desktop consumes the token. After that handoff, the tokens are stored in your operating system's credential store and are sent from the Desktop to GitHub or Vercel only to read the repository, CI and deployment status for the projects you connect, and, when you confirm it, to cancel or re-run a commit's GitHub Actions runs. Decker does not upload or push your project files. If you choose a Supabase project, Decker stores its project ID with that project and, if you confirm, writes a read-only Supabase MCP entry to the project's .mcp.json. Decker does not store Supabase credentials.
AI Tool Connections (Optional)
You can connect AI coding tools such as Claude Code to Decker through a local MCP server on your device. The tool can read your projects' status and logs, with .env values and known key formats hidden, start or stop services, ask to cancel or re-run GitHub checks (Decker asks you first unless you allow cancelling without asking), or, if your plan includes it, request a Share, which starts only after you allow it in Decker. The logs your AI tool reads are not sent to our servers. Your AI tool may send what it reads to its provider under that provider's terms.
Share Feature (Optional)
Share is an optional paid feature. It creates a Cloudflare tunnel to make your local development server accessible via a public URL. Network traffic is proxied through Cloudflare. When you stop sharing or the selected Share Duration expires, Decker stops the local connector and public session. The tunnel and DNS binding remain available for a later Share and are permanently removed when the associated account is deleted.
Cookies and Local Storage
The website uses authentication cookies set through Supabase to keep you signed in. When you sign in to the Decker desktop app, the sign-in completion page also receives a short-lived cookie with a one-time code for Decker; the page deletes it as soon as it reads it, and it expires after 5 minutes. The website stores your theme preference in your browser's local storage. We do not use advertising cookies. Analytics run in DataFast's cookieless mode as described above.
Third-Party Services
We use the following third-party services to operate Decker:
- Supabase — authentication and database (US)
- Stripe — payment processing and refunds (US)
- Sentry — error monitoring (US)
- Cloudflare — networking and file storage (US)
- GitHub — authentication, and repository and CI status when connected (US)
- Google — authentication (US)
- Vercel — website and API hosting, and deployment status when connected (US)
- DataFast — cookieless web analytics (infrastructure mainly in the US)
International Data Transfers
Most of our third-party service providers are based in the United States. When your data is transferred outside the EU/EEA, it is protected by appropriate safeguards, including EU Standard Contractual Clauses (SCCs) adopted by the European Commission, or equivalent mechanisms provided by each service provider in accordance with GDPR Article 46.
Data Retention
We retain different types of data for different periods:
- Account data — retained while your account is active. Account deletion starts a cleanup workflow; retryable provider failures can delay final removal, and terminal failures are retained for manual review instead of being reported as a completed deletion. Deletion covers your Decker account, service-stored data, and Decker-managed Share resources. It does not delete local project folders or files, existing GitHub repositories, or existing Vercel deployments. After a deletion request, we retain a domain-separated SHA-256 receipt derived from the account ID solely so Decker installations that were offline can remove that account's Decker-owned local metadata. The receipt does not contain the raw account ID, email address, or any project path or file content.
- Payment records — processed by Stripe. When your account is deleted, we ask Stripe to delete your Stripe customer record and remove our customer mapping. Stripe may still retain payment records as required by law for tax and accounting purposes.
- Error reports — retained for 30 days.
- Session replays — retained for 30 days.
- Product usage data — deleted 90 days after we receive it, and with your account if you delete it.
- Analytics data — processed through DataFast's cookieless mode without persistent analytics cookies. It may use session-only storage and a pseudonymous identifier that rotates approximately every 24 hours.
Your Rights
Under the GDPR, you have the following rights regarding your personal data:
- Access (Art. 15) — request a copy of your personal data
- Rectification (Art. 16) — request correction of inaccurate data
- Erasure (Art. 17) — request deletion of your data (also available via account settings)
- Restriction (Art. 18) — request that we limit how we process your data
- Data portability (Art. 20) — receive your data in a structured, machine-readable format
- Object (Art. 21) — object to processing based on legitimate interest
To exercise any of these rights, contact us at hello@rundecker.com. You also have the right to lodge a complaint with the Estonian Data Protection Inspectorate (Andmekaitse Inspektsioon) at www.aki.ee, or with the supervisory authority in your EU member state of residence.
Contact
If you have questions about this policy, please reach out at hello@rundecker.com.