Privacy Policy
What FloorGen collects, why, where it is kept, how long, and the choices you have. Written to match what the software actually does.
Last updated
This policy explains how FloorGen, a company organized in Delaware, United States ("FloorGen", "we", "us"), handles personal information when you use https://floorgen.app, its API and its MCP server (the "Service"). We collect only what the Service needs to work, and we do not sell personal information or use it for advertising.
What we collect
Your account
- From Google, when you sign in: you sign in with your Google account. Google gives us a token, signed by Google, with your email address (which Google has verified), your name and your Google account ID. A new account takes its email address and name from it, and every account keeps the Google account ID; nothing else in the token, such as your profile picture, is stored. We never see your Google password.
- Password, only for an account that has one (made with an email and password before Google sign-in): we never store the password itself, only a salted PBKDF2-SHA256 hash of it, which stays with the account. Signing in with a password is turned off; such an account signs in with Google using the same email address.
- Sign-in state: a count of recent failed sign-ins and, after too many, a temporary lock time.
- Sign-up codes, only while email and password sign-up is turned on (it is off now): we keep your pending details and a hash of the six-digit code for up to 10 minutes.
Your projects
When you are signed in, your projects (floor plans, their names, settings, notes and any traced background images inside them) are compressed and synced to our database so they are available on your other devices.
When you share a project, the people you add see your name, and you see their name and email address. People on the same project see each other's names and, while they have it open, what they have selected. To invite someone we keep their email address with the invite until it is accepted, declined or revoked, for at most 7 days. If you remove someone or delete the project, they lose access to it, but they keep any copy already on their device.
Plans you import with Smart import
Smart import reads a picture or a PDF page of a floor plan with AI. When you use it, your browser sends us a reduced copy of that one page (at most 2,048 pixels on its long side), never the whole PDF, with any text the PDF page holds and the wall lines your browser already found in it. We pass the page to our AI model provider to read and do not keep the picture: it is held in memory only while it is read, and it is never written to our logs. We keep what the AI found on the page (where the walls, doors, windows, room names and dimensions are, as text and numbers) and a one-way fingerprint of the page for 7 days, so that importing the same page again is instant and costs nothing; you can delete them sooner from the import panel. Importing a DXF file, and the free Trace image tools (tracing, scale, straightening and Detect walls), run entirely in your browser and send us nothing.
Using FloorGen without an account
When you use FloorGen without signing in, your browser makes a random guest ID and keeps it in local storage. It sends us that ID when the app opens and when you come back to it, with your device type (phone, tablet or computer), your browser's language, and for each of your projects its name, when it was made and changed, and how many floors, rooms, walls and items it has and its floor area. We also keep a copy of each project you make without an account on our servers, stored against that guest ID: its rooms, walls, doors and windows, furniture, labels and settings, but not any image you traced over, which stays in your browser. Your browser sends a new copy a few seconds after you change a project, and tells us when you delete one, so we keep only its name and dates. We keep these copies to understand how FloorGen is used and to improve it. Our staff can view them. Opening or downloading one is logged; the small preview pictures of each plan in our staff tools are not. They are not a backup: you cannot open them on another device, and they cannot bring back a project removed from your browser. If you use FloorGen AI, we also record against that ID each request, the AI model used, how many tokens it used and what it cost, and the names and sizes of the projects you sent it, never what you wrote or what the AI answered. We keep a one-way hash of your network address with it (the address itself cannot be recovered from it), which we use to tell networks apart and to stop abuse. When you sign in, your guest record is linked to your account. We use this to understand how FloorGen is used before people sign up and to run the service.
AI apps you connect
- API keys: the name you give a key, its access level, any projects it is limited to, when it was created, when it expires and when it was last used. We store only a SHA-256 hash of the key itself, never the key.
- OAuth connections: the app's name and registration details, what access you approved, and when the connection was created and last used. Access and refresh tokens are stored only as hashes.
- Agent activity: a log of each change an AI app makes (which key or app, what tool, a summary and the change itself), notes agents leave on your projects, and restore points taken before risky changes, so you can review and undo agent edits.
Contact form
When you use the contact page, we store your name, email address, the topic you choose, your message, and the time you sent it.
Job applications
When you apply for a role on the careers page, we store the role, your name, email address, the optional phone number, location, links and cover note you give, the resume PDF you upload, and when you agreed to us storing them. Only the people who review applications can read them, and we use them only to consider you for that role and future ones.
Technical data
- IP addresses are used in the moment to rate-limit sign-in, sign-up, the contact form and job applications. We do not store them in our database.
- Google sign-in: when a sign-in form shows, your browser loads Google's sign-in button from Google, so Google receives your IP address and our site's address, under Google's privacy policy.
- Server logs: our hosting provider, Cloudflare, records request logs and errors for our Worker (for example, the request path, time, status and error details) that we use to find and fix problems.
- Analytics: we run our own copy of Rybbit, an open-source analytics tool, on our own server, reached through our own site. It counts page views and records what happens in the app in general terms (for example "a template was opened", "an export finished", "the AI panel was opened"), plus page speed and script errors. It sets no cookies and does not store your IP address: your country and city are looked up from it, then the address is dropped. It never receives your projects or their names, your messages to the AI, your email address, or anything you type. Our server records, the same way, how AI replies and connected AI apps went: how long a reply took, roughly what it cost and whether it changed the plan, never what was said. When you are signed in, events carry a one-way pseudonym of your account instead of your account ID.
- Cloudflare Web Analytics also measures page views in aggregate. It does not set cookies and does not track you across sites.
We do not use advertising trackers, social-media pixels, or third-party fonts.
How we use it
- To create and secure your account and keep you signed in.
- To store, sync and show your projects on your devices, and push live updates to your open tabs when an AI app edits them.
- To let AI apps you authorize read and edit your projects, within the access you chose.
- To protect the Service: rate limits, lockouts after repeated failed sign-ins, and investigating abuse.
- To answer messages you send us and run, fix and improve the Service.
- To meet legal obligations.
We do not use your projects to train AI models. When you connect an AI app, that app reads your project data on your instructions; what its provider then does with it is governed by that provider's terms and privacy policy, not ours.
Who we share it with
We share personal information only with the service providers that run the Service for us, with AI apps you connect, with the people you share a project with, or when required by law.
| Provider | What for | Data involved |
|---|---|---|
| Cloudflare, Inc. | Hosting, content delivery, the API and live updates, rate limiting, request logs, Web Analytics | All requests to the Service, including IP addresses and request data in transit |
| MongoDB, Inc. (Atlas) | Database | Accounts, projects, keys, connections, agent activity, guest records and copies of guest projects, contact messages, job applications |
| Google LLC | Sign in with Google | When you sign in: the requests your browser makes to Google (with your IP address), and the email address, name and Google account ID Google gives us |
| Our AI model provider (currently Anthropic, PBC, through our own gateway) | FloorGen AI and Smart import: reading what you send them and answering | Your messages to FloorGen AI with the project data and images they include, and the page you import with Smart import |
If we are involved in a merger, acquisition or sale of assets, personal information may transfer as part of it, subject to this policy.
How long we keep it
| Data | Kept for |
|---|---|
| Account (email, name, Google account ID, and the password hash of an account made with a password) | Until you ask us to delete your account |
| Projects | Until you delete them or your account. When you delete a project, its content is removed from our database and a small marker (its id, name and deletion time) stays so your other devices learn of the deletion. |
| Pending sign-ups | 10 minutes |
| Project invites | Until accepted, declined or revoked, and at most 7 days |
| Sign-in sessions | 30 days, or until you sign out |
| Agent activity log and agent notes | 90 days, then deleted automatically |
| Restore points taken for agent edits (including a project an agent deleted) | 30 days, then deleted automatically |
| API keys | Until you revoke them; they stop working at the expiry you chose |
| OAuth access and refresh tokens | 1 hour and 30 days respectively, or until you disconnect the app |
| Guest records (guest ID, device type, language, project names and sizes, AI use, network hash) | Until you ask us to delete them; send us your guest ID, which you can find in your browser's local storage as floorgen.guest.id, or ask while signed in if you have signed in since. When we delete them, we keep only a record that this guest ID was deleted (the ID and the date), so copies cannot come back: your browser sends us nothing more under that ID. A record that holds only the key described under "Local storage" below, because the browser never checked in, is deleted automatically after 30 days |
| Copies of projects made without an account | 180 days after the project last changed, or 30 days after you sign in or create an account (your projects are in your account by then), then deleted automatically. We delete them sooner if you ask; send us your guest ID as above |
| Contact form messages | 2 years after they are sent, then deleted automatically |
| Job applications and resumes | 12 months after they are sent, then deleted automatically |
| Smart import results (what the AI found on a page, and a one-way fingerprint of the page; never the picture) | 7 days, then deleted automatically; sooner if you delete them from the import panel |
| Cloudflare request logs | For the limited period Cloudflare's logging retains them |
When we delete your account, we delete its projects, keys, connections and activity from our live database. Any copies in our database provider's backups expire on their normal backup schedule.
Cookies and storage in your browser
We use one cookie and some storage in your own browser. None of it is used for advertising or cross-site tracking.
- Session cookie (
__Host-fg_session): keeps you signed in. It is strictly necessary, HttpOnly (page scripts cannot read it), sent only over HTTPS to our own site, and lasts 30 days or until you sign out. - Google's sign-in button comes from Google and uses Google's own cookies on Google's domain, which we cannot read; Google's privacy policy covers them.
- Using the app without an account: projects you make before signing in are kept in a separate database in this browser; we receive their names and sizes and a copy of each without traced images (see "Using FloorGen without an account" above). When you sign in or create an account, they are moved into that account and synced like any other project.
- IndexedDB: a copy of your projects, traced images, restore points and "Recently deleted" projects lives in your browser, so the app works offline and loads quickly. Each account signed in on a browser gets its own separate database. Projects you delete stay in "Recently deleted" in that browser for 30 days, then are removed.
- Local storage: preferences such as theme, layout, 3D view and library settings, your last signed-in account (so the app can open offline), a shared clipboard between tabs, backup and folder-sync settings, while you are signed in the analytics pseudonym described above (
rybbit-user-id), and while you use the app without an account your random guest ID (floorgen.guest.id), a random key that proves the copies of your projects come from this browser (floorgen.guest.key), and a note of which versions it has already sent us, or that its guest ID was deleted at your request (floorgen.guest.mirror). All three are removed when you sign in. - Folder sync (Chrome and Edge only, if you turn it on): the app writes your projects as files into a folder on your computer that you choose. Those files never leave your device through this feature.
You can clear this storage in your browser settings at any time. Clearing it signs you out and removes the local copies, but projects already synced to your account stay there. Projects made without an account can be opened only in that browser, so clearing it deletes them; the copies we keep cannot bring them back. Back them up or sign in first if you want to keep them.
Your choices and rights
- See and change your projects at any time in the app.
- Export any project as a
.floorgen.jsonfile, or back up all your projects in one file. - Revoke API keys and disconnect AI apps at any time in the app.
- Delete projects in the app. To delete your whole account, ask us through the contact page with the topic "Privacy"; there is no self-serve account deletion yet.
- Ask for a copy of the account information we hold, or for corrections, through the contact page.
If you live in California or another US state with a privacy law
Depending on where you live, state laws such as the California Consumer Privacy Act may give you the right to know what personal information we hold about you, to get a copy of it, to have it corrected or deleted, and not to be treated differently for using these rights. We honor these requests from every user, wherever you live. We do not sell personal information, we do not share it for cross-context behavioral advertising, and we do not use sensitive personal information to infer things about you. You can make a request yourself or through an authorized agent, using the contact page.
If you are in the EU or UK
If the EU or UK General Data Protection Regulation applies to you, you have the right to access your personal data, correct it, have it deleted, and receive it in a portable format (the project export above covers your plans). You may also object to or ask us to restrict certain processing, and you can complain to your local data protection authority.
We process your data to provide the Service you asked for (performance of a contract), to keep it secure and working (our legitimate interests), and where the law requires. Where we rely on your consent, such as when you connect an AI app, you can withdraw it at any time by revoking access. To exercise any of these rights, use the contact page. We will respond within the time the law requires, and may need to confirm your identity first.
International transfers
FloorGen is run from United States, and our providers operate infrastructure in many countries. Cloudflare serves requests from the data center closest to you, our database is hosted with MongoDB Atlas, and signing in goes through Google. Your information may therefore be processed outside the country where you live. Where the law requires, we rely on our providers' standard contractual clauses or other approved safeguards for these transfers.
Security
We protect your data with HTTPS everywhere, sign-in through Google, hashed passwords, keys and tokens, rate limits, and strict separation between accounts. Read more on our Security page. No system is perfectly secure, so please protect your Google account with a strong, unique password and 2-Step Verification.
Children
The Service is not directed to children, and you must be at least 16 to create an account. We do not knowingly collect personal information from children under 16. If you believe a child has given us personal information, tell us through the contact page and we will delete it.
Changes to this policy
We will update this policy when what we collect or how we use it changes. The date at the top shows the last change. For significant changes, we will give notice in the app before they take effect.
Contact
For privacy questions or requests, use the contact page and choose the topic "Privacy". FloorGen is responsible for your personal information under this policy.