You are building
You prepare the questions and the form flow.
Conversational forms Development & demonstrations
Megaforms explores collecting responses through conversational forms, including voice responses and transcription. The information is structured for the team that needs to use it further.
Megaforms
You prepare the questions and the form flow.
The user responds in the available format, including by voice.
Responses are centralised for review and connection to workflows.
Structured information before the first discussion.
Responses are easier to provide when writing is inconvenient.
Forms adapted to the team’s role and context.
The functions, connections and conditions of use are confirmed in the demonstration of the relevant configuration.
Megaforms in detail
Megaforms is a form builder in which a person can respond by speaking, not only by writing. The question appears on the screen, the respondent presses and speaks, and the recording is converted into text on the server — with `whisper-1`, via our model gateway. The audio remains saved alongside the transcript, because a transcription can be wrong and someone needs to be able to listen to the original.
Around the form there are the rest of the things a team needs to use it seriously: workspaces with roles, API keys for server-to-server integrations, cryptographically signed webhooks with secret rotation, custom domains per workspace, two-factor authentication including physical keys, payments via Stripe, and export to CSV, JSON, text and PDF.
The compliance side is not a policy page, it is functionality: each workspace has a retention policy, a record of processing activities, a data protection impact assessment, tracking of processing agreements, a list of sub-processors and a cost cap on the AI side, so a model bill cannot run out of control. Transcripts go through a personal data redaction step before being stored.
The real flow: the recording uploads to a dedicated session endpoint, the size is checked — maximum 25 MB — and the type, from a list of eleven accepted formats (webm, ogg, mp3, m4a, mp4, wav, flac, aac and their variants). Transcription is done with `whisper-1` through our gateway, with the language normalised to Romanian, Russian, English or Ukrainian. On top of that sits a limit of 30 uploads per 15 minutes per IP address.
Server transcription is enabled per form, through the `voice_server_enabled` field, and requires the configured gateway key. If one is missing, the form does not break — it falls back to browser speech recognition, which is weaker and depends on the respondent’s browser. The difference is visible in the code, not hidden.
Each delivery carries the header `X-Megaforms-Signature-V1: sha256=<hex>`, calculated with HMAC-SHA256. When the secret is rotated, for 24 hours `X-Megaforms-Signature-V1-Previous` is also sent with the old secret, and the receiver accepts either of them — so the key can be changed without breaking the integration. There is delivery history, resend, content preview and test scenarios.
The format is `mf_<prefix>_<secret>`, with an 8-character prefix and a 32-character secret. In the database only the prefix and `sha256(secret)` are kept; the full key is shown only once, on creation. Comparison is done with `timingSafeEqual`.
Passwords with bcrypt, two-factor authentication with a code generated on the phone and, separately, WebAuthn for physical keys or biometrics. On top of them: a list of allowed IP addresses per workspace, an audit log with real-time stream, tracking of active sessions and administrator impersonation that is recorded in audit.
Retention policy per workspace, record of processing activities, data protection impact assessment, tracking of processing agreements, notification when sub-processors change, full export of a workspace, cookie consent management, reporting of content policy violations and personal data redaction from transcripts.
Data and operation
From exploration to implementation
Voice, text, or both, for each question. The input types accepted by the question engine also decide where voice makes sense: for open questions, not for an email address or a number.
`voice_server_enabled` is enabled on the form and the gateway key is configured. Without them, respondents get the browser version — a legitimate decision for a simple form, but one that must be made consciously.
Signed webhook to your system or API key for server-to-server reading. Secret rotation is tested within the 24-hour window, so changing the key in production is not the first time you do it.
How long responses and recordings are kept, who has access, what monthly AI usage cap there is. All three are fields in the product, so they are set once and apply automatically.
The respondent records in the browser, the file is uploaded to the session endpoint, and the server checks the size (maximum 25 MB) and format (eleven accepted types: webm, ogg, mp3, m4a, mp4, wav, flac, aac). Transcription is done with `whisper-1` through our model gateway, with the language normalised to ro, ru, en or uk. The audio remains saved alongside the transcript, and the text goes through a personal data redaction step.
No. Server-side transcription is enabled explicitly on the form and requires the gateway key. If either of them is missing, the form does not break: it falls back to the respondent's browser speech recognition. It is a real difference in quality and language coverage, which is why we say it before implementation, not after.
An HMAC-SHA256-signed webhook, in the `X-Megaforms-Signature-V1` header. The key can be rotated without interruption: for 24 hours both signatures are sent, the new one and the old one, and the verifier accepts either. There is delivery history, manual resend and content preview. For server-to-server reads there are API keys, from which in the database we keep only the prefix and the hash.
Not in silence. Consumption is metered per workspace and there is a monthly cap checked before the model call: when it is reached, transcription stops with an error saying how much of the cap has been used. The gate is before the call, not on the bill at the end of the month.
Honestly: less than its surface. The project test command does not run anything — it responds “No tests yet” and exits successfully. What actually exists: three unit test files (conditional logic, form authentication, personal data redaction), one end-to-end test and one automated accessibility test. Real verification today is done via `tsc --noEmit` plus build, and through the production health endpoint, which checks the database, Stripe, the model gateway and token signing.
On our infrastructure in Europe, at `forms.megapromoting.com`. The domain is temporary, under the company subdomain, not a product-owned one — the move is a brand decision still open, not a technical limitation.
The retention policy set on the workspace applies. The product also includes records of processing activities, impact assessment, tracking of processing agreements, notification on changes of subprocessors and the full export of a workspace — all as endpoints, not as text in a policy page.
Illustrative example
A use case, without client data or attributed commercial results.
A respondent receives an open question and, instead of typing, presses the recording button and speaks for a minute.
The file is uploaded to the session endpoint; the server checks size and format, then requests transcription with `whisper-1` through its own gateway, using the form language. The text passes through personal data redaction before saving, and the audio remains stored alongside it.
The team sees the response as text in the panel, can export it to CSV, JSON, text or PDF, and can listen to the original if the transcription seems wrong. If a webhook is configured, your system receives the signed event.
What is required:Voice form with the server-side voice enabled and the gateway key configured — otherwise browser recognition is used. The monthly AI cost cap is not reached. Clear notice to the respondent about recording and transcription.
Collaboration possibilities
Assistants for recurring questions, with controlled sources, explicit limits and the handover of sensitive situations to a responsible person.
We define a pilot around a real process: users, data, integrations, costs and acceptance criteria. Expansion follows after evaluating the result.
We establish the requirements for accessibility, hosting, data protection and interoperability. Any connection to AGE or STISC services requires validation of eligibility, access and approvals.
These are adaptation scenarios, not statements about existing contracts or partnerships. The proposed functions are confirmed within the project scope.
Discuss a pilotAn assistant connected to your business information, in the channels your customers actually write to.
PlatformTaskin explores turning discussions and project context into commitments, priorities and next steps.
Development & demonstrationssesizari.md organises reports about public space: location, category, description and the relevant material.
Public platformTell us about your process. Together we decide what is worth building, what we can connect, and how we check the result.