Skip to content
megapromotingLet's talk
Products Megaforms

Conversational forms Development & demonstrations

A form in which you can also speak.

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.

  1. 1Questions
  2. 2Voce sau text
  3. 3Structured responses
Explanatory diagram ·Megaforms

Megaforms

From information to work done.

01

You are building

You prepare the questions and the form flow.

02

Colectezi

The user responds in the available format, including by voice.

03

Organizezi

Responses are centralised for review and connection to workflows.

Where it becomes useful.

Requests and briefs

Structured information before the first discussion.

Feedback

Responses are easier to provide when writing is inconvenient.

Internal processes

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

What you can do with this project.

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.

01

Voice response, transcribed on the server

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.

02

An explicit switch for server voice

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.

03

Signed webhooks, with seamless rotation

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.

04

API keys that cannot be recovered

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`.

05

Authentication at the level expected in 2026

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.

06

Compliance as a function, not a page

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

What enters the system. What needs to be checked.

Where responses are stored
PostgreSQL, with 20 tables: users, workspaces and members, projects, questionnaires, questions, sessions, responses, consumption counting, API keys, link events, webhooks and their deliveries, custom domains, uploaded files, voice recordings, follow-up questions, AI consumption, NPS responses and session summaries.
Audio is kept alongside text
The recorded file remains stored on the server, in a dedicated directory, and the transcript goes through a personal data redaction step before being saved. Both are necessary: automatic transcription makes mistakes, and anyone making a decision based on an answer must be able to hear what was actually said.
Model costs are capped
AI usage is counted per workspace, and transcription checks the cap before calling the model: if the monthly cap is reached, the request is stopped with a dedicated error, stating how much has been used out of how much. It is not an alert after the bill; it is a gate before the call.
What a public form sees, and what it does not
Public sessions have IP request limiting, automatic saving of responses in progress, a resume link with a token, and separate verification for forms embedded in another site, via a signed token.

From exploration to implementation

How we prepare a project with Megaforms.

01

We define the response format

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.

02

We enable voice on the server, if it makes sense

`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.

03

We connect the result to the receiving system

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.

04

We set retention and the cost cap before launch

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.

Questions worth clarifying.

How does voice response work, exactly?

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.

Does voice work for any form, automatically?

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.

What do we receive with each response, in our system?

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.

Can an AI bill get out of control?

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.

How well is the product tested?

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.

Where is it hosted and on which domain?

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.

What happens to respondents' data after a while?

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

An open response given by voice, reached in structured form by the team

A use case, without client data or attributed commercial results.

Initial situation

A respondent receives an open question and, instead of typing, presses the recording button and speaks for a minute.

How it works

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.

Rezultatul

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

Megaforms, in the context of your organisation.

Access to approved information

Assistants for recurring questions, with controlled sources, explicit limits and the handover of sensitive situations to a responsible person.

Private companies

We define a pilot around a real process: users, data, integrations, costs and acceptance criteria. Expansion follows after evaluating the result.

State institutions and companies

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 pilot

Part of an ecosystem.

What would you want to work better?

Tell us about your process. Together we decide what is worth building, what we can connect, and how we check the result.

Let's talk