Privacy Policy
What personal data CockpitConnect processes, why, and what you can do about it.
Version 2026-10-19 · Applies to cockpitconnect.com, the CockpitConnect app, API and Bridge.
Who we are
CockpitConnect is run by Dennis van Dalfzen in the Netherlands, who is the controller for the personal data described here under the EU General Data Protection Regulation (GDPR). Questions or requests: privacy@cockpitconnect.com .
Account data
When you create an account we store your email address and, if you set one, a password (only as a one-way hash). If you sign up with Google we receive your Google account id, email address and name from Google; we never see your Google password.
We also store your workspace memberships and roles, the language you chose, notification preferences, two-factor authentication settings (the secret is encrypted) and the version and date of the terms you accepted.
We use this to give you access to your account and workspaces, keep the account secure and contact you about the service (for example password resets).
Flows and project configuration
Everything you build in the Flow Builder is stored in the cloud: projects, Flows, sub-flows, component and GPIO configuration, dataref and command bindings, restore points, documents and flight plans you upload. This is the content of the service; we process it only to store it, sync it to your Bridge and show it to the members of your workspace.
Blueprints you choose to publish to the marketplace become visible to other users, together with the workspace name you publish them under.
Controllers and their MAC addresses
Each ESP32 controller is identified by its network MAC address. We store the MAC address, the controller's name, firmware version, status and its GPIO configuration with your project, and the Bridge reports controller health and logs to the cloud.
A MAC address identifies a device, not a person, but because it is tied to your account we treat it as personal data and use it only to address your own controllers.
Billing through Stripe
Payments are handled by Stripe. Card details are entered on Stripe's pages and go directly to Stripe; we never receive or store them. We store the Stripe customer and subscription ids, your plan, enabled modules, wallet balance and usage counters, and receive payment status from Stripe.
Stripe processes your payment data as an independent controller under its own privacy policy (stripe.com/privacy). We keep invoices and payment records as long as tax law requires (7 years in the Netherlands).
No analytics or tracking
This website uses no analytics or tracking. It loads no analytics or advertising scripts and sets only one cookie, cc-theme, which remembers whether you chose the light or dark theme and is strictly necessary for that choice.
Inside the app, the Insights pages show statistics about your own cockpit (events, Flow runs, controller uptime). These are calculated from your workspace's data, shown only to your workspace and not shared with third parties. The app itself contains no third-party analytics or advertising trackers.
Data the Bridge keeps locally
The Bridge runs on your own computer or Raspberry Pi so your cockpit keeps working without internet. It keeps a local database with the Flows synced from the cloud, controller and input-device configuration, the Controller Shadow (last known hardware and simulator state), controller logs, a queue of events waiting to be sent to the cloud, and its Bridge key.
This data stays on your machine until the Bridge reconnects and syncs it to your workspace. We cannot access the local database directly; deleting the Bridge's data folder removes it.
Error reports
When something breaks in the app, API or Bridge, an error report goes to our own error tracker (GlitchTip), which runs on our own hosting, not at a third party. A report says what went wrong and where in our code, and which version was running.
Before a report leaves, email addresses, IP addresses, cookies, passwords, keys and tokens are removed. Bridge reports also leave out flow content, dataref values, WiFi details, MAC addresses and your user name.
The app sends reports unless you turn them off, in the notice you see first or under Account → Preferences. The Bridge sends none until you turn them on on its status page; while it is offline it keeps a few on disk and sends them once it is back online, and turning reporting off deletes them. Reports are kept for 90 days.
Technical and security data
To keep the service running and secure we log requests (IP address, time, endpoint, response), use session cookies for login (accessToken and refreshToken, strictly necessary) and keep API key usage times. Request logs are kept only as long as needed for security and troubleshooting.
Legal basis
We process account data, Flows, project configuration, controller data and Bridge data to perform our contract with you (providing the service), billing data to perform that contract and meet our legal obligations, security logs and the app's error reports on the basis of our legitimate interest in a secure, working service, and the Bridge's error reports on your consent.
Who we share data with
We use processors to run the service: our hosting provider, Stripe for payments, Google for sign-in with Google, and an email provider to send account emails. We do not sell personal data. Some of these providers may process data outside the EU; where they do, they are bound by the European Commission's standard contractual clauses.
How long we keep it
We keep your account, workspaces, Flows and project configuration for as long as your account exists. When you delete your account or workspace we delete this data within 30 days, except billing records we must keep for 7 years. Backups roll over within 30 days.
Your rights
You can ask to access, correct, export or delete your personal data, object to or restrict its processing, and withdraw consent at any time. Email privacy@cockpitconnect.com and we will respond within one month. You may also complain to the Dutch data protection authority (Autoriteit Persoonsgegevens).
Changes
When this policy changes meaningfully we update the version above and ask you to accept the new version. See also our Terms of Service .