# Privacy and your data What happens to your Bubble export when you use LumiDevKit. ## Parsing happens in your browser When you upload a file to any LumiDevKit tool, the file is read and parsed by JavaScript running in your browser. It is not uploaded to a server for processing. That is true for all six tools: the Database Visualizer, Workflow Tracer, Reusables Tree, Design System, Audit and JSON Sanitizer. ## The one exception: saved schemas If you explicitly click Save on the Database Visualizer, your schema is stored in our database, scoped to your account. What is stored: your `user_types` and `option_sets`, the name you gave it, and your node positions. What is not: the original file. If you uploaded a full application export, the pages, workflows, styles and settings are never sent anywhere. This is opt-in. If you never click Save, nothing about your schema reaches our servers. See [saved schemas](/docs/save-and-reuse-schemas). There is also a browser-local draft, kept in your own browser's local storage so a refresh does not lose your work. That never leaves your machine. ## No AI touches your data LumiDevKit does not send your export, your schema, or any part of your app to any AI or language model. The [AI features in the docs](/docs/design-a-database-with-ai) work the other way round: we give *you* a prompt to paste into your own ChatGPT or Claude session. Whatever you choose to paste there is between you and that provider. Nothing flows from LumiDevKit to an AI. ## What the Chrome extension does The [LumiDevKit extension](/docs/copy-for-bubble) writes to your browser's clipboard storage and drives the Bubble editor's own paste. It does not send your schema anywhere, and it has no server component. ## Your export contains secrets This is the part worth acting on rather than just reading. A raw Bubble export contains live credentials: `settings.secure` in its entirety, plus API Connector configuration, Stripe keys and plugin keys under `settings.client_safe`. If you are sending an export to anyone — a colleague, a contractor, a forum, an AI chat — run it through the [JSON Sanitizer](/docs/json-sanitizer) first. It deletes all of `settings.secure` and the credential-only keys under `settings.client_safe`, and keeps the API Connector call structure with every value replaced by ``. ## Analytics We use PostHog for product analytics, hosted in the EU. In GDPR jurisdictions, analytics are opted out by default and only enabled if you accept via the cookie banner. Analytics record how the app is used — pages visited, features clicked. They do not record the contents of your uploads, because your uploads never reach the server in the first place. ## Account data Creating an account stores your email address and authentication details, handled by Supabase. We also keep one activity row per account: when you were first and last active, a visit count, and a two-letter country code read from the request header. No IP address, no user agent. It is written at most once every five minutes, and it tells us whether an account is being used rather than signed up and abandoned. That row is account bookkeeping rather than product analytics, so it is recorded for every signed-in account whether or not you accepted the cookie banner above. Deleting your account removes all of it. ## The legal version The formal documents are at [Terms of Service](/legal?tab=terms) and [Privacy Policy](/legal?tab=privacy). If anything on this page appears to contradict them, the legal documents govern — and please [tell us](/portal/help), because it means one of them needs fixing.