Privacy policy
Last updated 9 November 2026
The short version
Forma is run by Waqar Sayyed, who is responsible for what this policy describes. It collects as little as it can. There are no analytics, no advertising, no tracking pixels, no third-party scripts watching what you do, and no cookies. Nothing is sold or shared with anyone for marketing.
Opening any page asks Forma’s host for it, as every website does. The host is Firebase Hosting, run by Google, which keeps the ordinary request logs a web host keeps — your IP address, the address asked for and your browser — for as long as Google keeps them. Forma itself keeps no record of visitors.
Beyond the host, signed out, four things leave your machine and no others: what you ask the AI you chose to do, sent to Google with your own Gemini key or to OpenRouter with yours (a local AI stays on your computer); only if you use the contact form, the message you type into it; only if you open a link to a report someone shared, a request to Google’s database for that report; and only if you dictate a message, your voice, to your browser’s speech service. Who receives each of those is set out under “Who else is involved” below.
Your machine, not your browser, is the boundary that sentence draws, and the difference is deliberate. The workspace asks 127.0.0.1 whether the optional designer companion is running — a request that leaves the browser and reaches nothing but your own computer. It carries no information about you, and the terms describe it under “What Forma is”. If you run Forma on your own computer and ask the companion to read your SQL Server, it reads it there with the connection you gave the companion, and what it reads comes back to this browser and goes nowhere else unless you share the database with the AI.
What the AI providers do with your requests
Your browser sends your files, your words and the report straight to the AI you chose, and that provider’s terms decide what happens to them next. Forma’s own server is never in the path.
Your SQL Server database: its table, view, procedure and column names, and up to three sample values a column, go with your requests only if you share it with the AI, by attaching its layout in the chat or with “Send names and sample values to the AI” on the Data view, which also turns it off. Otherwise none of it is sent. Forma never asks for, stores or sends a connection string, a login or a password: a report names its connection, and your application supplies it.
Google Gemini: on the free tier, Google’s terms say it may use what you send and what comes back to improve its products, and that people may read it to do so. Do not send confidential or personal information with a free-tier key. With billing turned on, Google says it does not use them that way.
OpenRouter: its free models come from providers that may log and keep your requests.
A local AI (Ollama or LM Studio on your computer): the request never leaves your machine. For a confidential report, this is the choice to make.
What is stored when you have an account
Your email address and, if you give one, a display name. These are held by Google Firebase Authentication, which runs the sign-in.
Your projects, saved automatically as you work: the report’s title, the conversation, the generated report with its specification and layout, any images you attached, your ratings of replies, and the newest ten revisions. They live in Google Firestore under your account, and the security rules let only your account read or change them through the app. They are not encrypted end to end: they sit in the operator’s Firebase project, which its owner can reach through Firebase’s own console, as with any service built this way.
Reports you choose to share: a copy of the report’s title, layout and XML — not the conversation, and not your images — with the email addresses you add to it. It lives in Google Firestore, and the security rules let it be read by you, by the people you add once they sign in with that address verified, or, if you choose it, by anyone who has the link. It stays until you stop sharing it or delete the project or your account. Forma sends no email to the people you add.
If you opt in to encrypted sync, an encrypted copy of your Gemini API key. It is encrypted in your browser with a passphrase that never leaves it, so the stored copy is unreadable to anyone who does not know the passphrase — including the operator. It is the one thing Forma stores that the operator cannot read.
Your API keys
Your Gemini key, and an OpenRouter key if you use one, are held in the Forma tabs you have open and erased when the last of them closes: a Forma tab you open while another is open gets them from it, inside this browser, unless you turn that off in Settings. Neither is written to disk in readable form or sent to any server belonging to Forma; each goes only to its own provider.
What is kept in your browser
Signed out, your projects are saved automatically in your browser’s local storage on that machine only — the conversation, the report, your attachments and your ratings — and Forma asks the browser to keep them rather than clear them to free space. Revisions last only while the tab is open. Settings, under General, downloads every project you saved, signed in or not.
Local storage also keeps: the theme; the DevExpress version and unit last used; the AI you chose, with its server address and model, never a key; your memories and the style of reports you kept; which projects you pinned or archived; which library reports are your house style, and whether it is used; the workspace’s layout; today’s request counts and the daily limits Google reported; the models your key can reach, with a short fingerprint of the key rather than the key; and the last announcement you saw.
Session storage, which the browser erases when the tab closes, keeps your keys, the unsent text in the box and any messages waiting in the queue, the open project, the changes a reply’s Undo can take back, and the model in use.
IndexedDB keeps the report library — the stripped reports you add and their index —, the SQL Server layouts you add with any sample rows, up to five databases, until you forget them on the Data view or sign out, and, once you sign in, Firebase’s record that you are signed in.
None of this is a cookie, nothing but Forma in this browser reads it, and all of it is there only to make Forma work, which is why there is no cookie banner. Clearing your browser storage removes it. Signing out clears the workspace — the uploads, the extracted text, the generated report and the database layouts kept on this device — so the next person at that browser does not see your work.
Who else is involved
Google Firebase hosts the site, runs sign-in and holds the database. Google Gemini answers the requests you make with your key. Signed out, the database is reached only through a link to a shared report. Once you are signed in, your browser does talk to Google on every load, first to check your session is still valid and then to fetch your saved projects, and it holds a connection open so changes to them arrive as they happen.
OpenRouter answers your requests only if you chose it under Settings → AI, with your own key.
Google reCAPTCHA checks that requests to the database come from this site, through Firebase App Check. It runs only when the database is used — once you are signed in, or when you open a shared report — and Google sees your browser and the page while it does.
The contact form is delivered by FormSubmit, which receives the name, email address, subject and message you type into that form and forwards them on as email — only when you press send, only from that one page, and nothing else about you goes with it.
Dictation uses your browser’s own speech recognition. Forma receives only the text; the audio goes wherever your browser sends it, which in Chrome is Google and in Edge is Microsoft.
The typefaces used to come from Google Fonts, which meant Google saw the IP address and browser of anyone who opened Forma at all. Since 30 August 2026 they are served by Forma’s own host, as are OCR, Forma’s own models and the fonts a PDF embeds. OCR and those models run in your browser, so a picture’s words are read without leaving your machine.
Files you upload are prepared in your browser — resized, rendered, parsed — before anything is sent.
Where it is kept, and for how long
Firebase keeps your account and projects on Google’s servers, which may be in another country than yours; Google’s data processing terms for Firebase cover that transfer.
Your account and projects stay until you delete them, or the account. A shared copy stays until you stop sharing it or delete its project or your account. Revisions are the newest ten of each project. A contact message stays in the maintainer’s inbox only as long as it takes to answer it. The host’s request logs last as long as Google keeps them.
Why it is used
Your account, projects and shares are kept to give you the service you asked for, and for nothing else. A contact message is used only to answer it. Everything optional — the encrypted key, memories, the library, sharing, dictation — is there only because you turned it on, and you can turn it off.
Your rights
You can see, correct, download and delete what Forma holds about you, and object to its use. Your projects and shares are in the workspace, each report downloads as a .repx and each conversation as a Markdown file, and Account settings deletes everything.
For anything the workspace does not do, or a copy of your data, write through the contact page; you will have an answer within 30 days. You can also complain to the data protection authority where you live.
Forma is not for anyone under 18, and does not knowingly hold anything about a child.
Deleting your data
Account settings in the workspace has a Delete account action. It removes your saved projects with their revisions, every report you shared and the encrypted copy of your key along with the account itself. It cannot be undone.
Individual projects can be deleted from Saved projects, one at a time or all at once with Clear all, which asks you to confirm first. Deleting a project also stops sharing it, and Stop sharing in the Share dialog removes the shared copy on its own. Settings → Memory forgets your memories and kept reports, and the Report library removes a report from this browser.
Contact
Questions about any of this, or a request about your data, can go through the contact page.
Forma is an independent project and this page is written in plain language rather than by a lawyer. It describes what the software actually does; where the law of your country gives you more, the law wins.