Skip to Content

Let the model fill the form, never the database

The one constraint that made an AI intake pipeline safe to ship.

A sales team was retyping every customer registration form into the ERP by hand: PDFs, scans, Excel sheets, and sometimes a phone photo of a printout.

Reading those forms is exactly the kind of messy but checkable input a vision model handles well. The pipeline starts at the mailbox: an incoming-mail hook works out which attachment is actually the registration form among the noise, PDFs and spreadsheets are pre-extracted, and the model pulls out the fields — including the Saudi VAT and CR compliance fields.

Then it stops. The model never writes to the database directly. It fills a form, and the result lands in an admin review queue where a person approves it with one click.

That constraint is what made the pipeline safe to ship, and it's why the client trusted it in production from week one. A wrong extraction costs a reviewer a moment; it never becomes a wrong customer record.

We apply the same test elsewhere. The CRM assistant on our aviation platform drafts stage checklists, activities and whole pipeline structures — but only when a user asks for it, against whichever OpenAI-compatible provider they configure, with no credentials hardcoded.

Read the case study: Customer forms that read themselves, with a person signing off

A recovery secret in the database protects nothing from a database administrator
Why our security features keep their off switch in the server config file.