Made in the Netherlands
Open-source, privacy-first form and data collection platform
Build forms in the visual builder or through the API, collect and manage the responses, and handle respondents’ requests to see or delete their answers. Use it hosted in the EU, or run it on your own servers.
Every form tells people who is asking, why, how long answers are kept and whether AI reads them, and passes an honesty check before it goes live.
Free to start: sign up with your email address.
Open source under the Apache 2.0 licence, with the source code on GitHub.
- ClearDuidelijk
- PrivatePrivé
- AccessibleToegankelijk
- HonestEerlijk
Full name (required)
Why we ask this: For the name on your course certificate.
Date of birth Optional
Why we ask this: Only to check the minimum age of 16.
How did you hear about the course? Optional
- Through someone I know
- On the website
- In the newsletter
- Purpose: course registration
- Deleted after 12 months
- No AI reads your answers
- Signed in: view your response or ask for it to be deleted
Before this form can go live
7 of 7 checks passed
The publish check
The builder won’t publish a form that would mislead or stop the people filling it in.
Every new form goes through seven checks each time you press Publish. When one fails, the builder says what is wrong, why it matters and how to fix it.
No blank question to guess at.
“Question 3 has no title. Write the question respondents should answer.”
Nothing is ticked before they arrive.
“Newsletter starts with an answer already chosen. Respondents must choose for themselves: clear the preset answer.”
Every required question can actually be answered.
“Preferred date is required, but it has no options, so nobody could get past it. Turn off Required or complete the question.”
A short reason under every question that asks for their email address, phone number or an ID number.
“Email address asks for personal details. Add a short ‘Why we ask this’ line so respondents know why you need it.”
No jump that leads nowhere.
“A jump on page 2 goes to an ending that no longer exists. Choose another ending for it.”
The organisation’s name, shown as who receives their answers.
“Your workspace has no title yet. Respondents see it as who receives their answers, so give it a title in the workspace settings.”
Text, buttons and input borders that stand out from the background (WCAG AA contrast).
“The theme’s colours are hard to read: white text on buttons. Use the suggested colours on the Design tab, or pick others.”
Built to Dutch and EU norms
Clear, private, accessible and honest. Enforced in the product, not promised in a policy.
Every form carries a privacy panel that tells people, in plain words, what happens to their answers. What it says is what the product does.
Your privacy
Stichting Voorbeeld asks these questions.
- Why
- To register you for the course.
- How long
- Your answers are deleted after 12 months.
- AI
- No AI reads your answers.
- Where
- Stored in the EU.
- Your rights
- If you sign in to answer, you can view your answers and ask for them to be deleted.
Clear Duidelijk
Plain language at B1 level, with a plain-language check in the builder.
Everything around the questions in Dutch and English: buttons, messages and the privacy panel.
In the builder: plain-language (B1) tips under each question as you write it.
Private Privé
Hosted in the EU. Answers are stored encrypted, and a form with a retention period deletes them when it ends.
AI reads answers only when the workspace has switched it on and AI insights are on for the form, and the form then tells respondents which AI provider reads them.
Accessible Toegankelijk
Built to WCAG 2.1 AA: keyboard, screen readers, contrast and visible focus.
Forms that work as well on a phone as on a computer.
Every form shows a visible focus outline, and a form whose theme colours are hard to read can’t be published.
Honest Eerlijk
Optional questions are marked, consent boxes start unticked, and there are no countdowns.
Honest defaults are checked before a form can be published.
In the publish check: nothing chosen in advance, nobody stuck, no dead ends.
For organisations
Everything a team needs, without an exception from the privacy officer.
From the first draft to the last deletion request, in one workspace your IT team can sign off on.
For the people who build forms
AI form assistant
Describe the form you need and review the draft. Available to enable: it is off until a workspace admin switches it on, and until then the server refuses every AI request. A self-hosted server also needs an AI provider configured.
PDF import
Turn a fillable or flat PDF into an accessible web form, ready to check and publish. Scanned PDFs are read only with AI switched on, using a provider that can read images.
Every response on its own page
Open a response on a page that looks like the form, search by email address, and export to CSV with the response id, submission time and hidden fields, with spreadsheet formulas neutralised.
For IT
Single sign-on
Available for organisations: sign in through Microsoft Entra ID, Keycloak or any SAML or OIDC provider, and keep members in sync with SCIM. It is switched on per installation; on bettercollected.com, ask us.
Your own domain
Publish forms on your organisation’s own domain, so people see who is asking.
For the privacy officer
Roles that fit
Owner, Admin, Editor, Reviewer, Viewer and Privacy officer. A workspace can have several owners.
Deletion requests
People who signed in to answer can ask for their answers to be deleted. You see every request and act on it.
Answers kept out of sight
The Privacy officer handles deletion requests without seeing answers. Browsers don’t store the answers they show, and receipt numbers and searched email addresses stay out of the application’s logs.
For developers
Work with your forms from your own systems.
A REST API, SDKs, a command-line tool and an MCP server, all through workspace keys with a limited scope. Or run the whole platform yourself.
REST API, SDKs and CLI
Forms as code
Create, check and publish forms and read responses through the REST API, with typed clients for TypeScript and Python and a command-line tool that pulls a form to a file, shows what would change and pushes it back.
MCP server
For AI assistants you trust
Let an AI assistant work with your forms over MCP, with the same scoped keys. Every action is attributed to its key and logged.
Self-hosting
Run it yourself
Deploy it with Docker on your own servers, with PostgreSQL as the only database. The source is public under Apache 2.0, and an admin portal shows the health of every service.
Questions
Frequently asked questions
- Is bettercollected open source?
- Yes. The source code is public on GitHub under the Apache 2.0 licence, and you can run bettercollected on your own servers.
- Where are forms and answers stored?
- On bettercollected.com, in the EU: the application servers, the databases and the file storage. Answers are stored encrypted and, when the form has a retention period, deleted when it ends. When AI insights are on for a form, its answers also go to the AI provider the form names. When you host it yourself, the answers stay on your own servers, and go to an AI provider only if you configure one and switch AI insights on.
- Does AI read the answers?
- Only if you switch it on. AI is off in every workspace until an admin enables it, and the server refuses AI requests until then. AI insights on a form’s responses must also be switched on for that form, and the form then tells respondents which AI provider reads their answers.
- What can the people who fill in a form do?
- They see who is asking, why, and how long their answers are kept. Respondents who signed in to answer can later view what they sent and ask for it to be deleted, on their own page in your workspace; a form can also give them a receipt number for it. You see every deletion request and act on it.
- Is there an API?
- Yes: a REST API with TypeScript and Python SDKs, a command-line tool and an MCP server, all with scoped workspace keys. See the developer documentation.
- Can I import forms I already have?
- You can import fillable and flat PDF forms, and scanned ones when AI is switched on with a provider that can read images. The Google Forms import only reads from Google and never changes your forms there. It is being retired, and version 5.0 removes it. The Typeform import was removed in version 4.1. See integrations.
Start
Your next form can be the one people trust.
Make a free account, build a form and watch it pass the check. Everything around the questions is in Dutch and English.