“Takes days or weeks, and often fails entirely when the employer does not respond.”How the industry describes the manual fallback used whenever the payroll database has no record — on The Work Number’s coverage gaps
Every mortgage needs it. When the payroll database has no record — which it does for most small employers, and for every country without one — somebody picks up a phone. Certa makes those calls, asks only what consent covers, and writes a typed answer back into your table.
“Takes days or weeks, and often fails entirely when the employer does not respond.”How the industry describes the manual fallback used whenever the payroll database has no record — on The Work Number’s coverage gaps
Estimates for global employment screening run from $5.3bn to $8.0bn, heading to roughly $13.7bn by 2034. Employment verification is a core segment.
Ticking one checkbox and dragging it down a column would authorise every row it touched. So consent is a hash of the row’s own content — a copied token was derived from a different number, and is refused.
sha256(request | phone | relationship
| spec_version | receipt_id)
Fraudulent applications supply working numbers, with staffed call centres and directory listings. It is the one field an applicant fully controls, and the manual process calls it anyway.
A positive result requires extracted evidence that a person was actually reached — never a status field alone.
An employer declining to confirm has not failed. That outcome is terminal and never retried.
Written and flushed to disk before the call it authorises can ring.
A queue in Airtable, and what Certa does with it. Watch the second row: its employer number came from the applicant, so it is never dialled.
Preview first. Nothing is dialled until you confirm.
Certa runs on the operator’s own machine and opens in their browser. The queue stays in the Airtable base they already use.
Double-click Certa.command on macOS or run.bat on Windows. The console opens in your browser.
With no credentials it starts on sample data, so the first thing you see is the product working.
Paste an Airtable token, your base, a CALL-E key and your organisation’s name. Stored in a local file only you can read.
Your answer columns become the extraction schema — a single select’s choices are the allowed answers, its description is the instruction.
You see every row in scope, every row skipped and why, how many the filter is hiding, the spend, and the verbatim script that will be spoken.
Results land back in your base as each call finishes.
Verification of employment is not a niche. It is a step somebody performs by phone, every working day, because the answer lives with a person rather than in a database.
An underwriter must confirm the applicant works where the application says. For large employers a payroll database answers. For everyone else — small firms, contractors, most of the world outside the US — somebody calls HR and waits.
Certa runs the queue from the view the underwriter already works in, and refuses any row whose employer number came from the applicant.
A letting agent checks that a prospective tenant is employed and earning consistently enough to cover rent. The check is nearly always a phone call to an employer the applicant named.
The applicant naming the employer is exactly why the number must be sourced independently. That is a boundary, not a setting.
Screening firms verify claimed employment history for candidates. Volume is high, the questions are fixed, and the work is almost entirely hold music.
Three questions, eight prohibitions, a typed answer per row, and an audit record of who was called under which consent.
Employment letters get verified by phone against the employer named on the filing. A refusal to confirm is a real and acceptable outcome that has to be recorded as one.
A refusal ends the call and is terminal, never retried. Redialling somebody who declined is harassment, and the code treats it that way.
The same shape every time: a third party who did not ask to be called, a consent that has to be provable, a short bounded set of questions, and an answer that must be typed rather than transcribed.
Types that cannot be built the wrong way, with tests that fail if that ever stops being true.
Saying so plainly is part of the design, not a disclaimer.