Fairness & compliance

An automated hiring tool should be able to show its work

Fasmac screens people and that has consequences. This page sets out the standards we build to, what is enforced in the product today, and — because it matters more than the rest — what is not true yet.

Last updated 17 September 2026

The standards we build to

Screening software sits inside somebody else's legal obligations. These are the regimes we design against, because they are the ones our customers answer to:

RegimeWhat it demands of a tool like this
NYC Local Law 144 An independent bias audit of an automated employment decision tool, computing selection or scoring rates by protected group, with a published summary. Applicants excluded for unknown category have to be counted and stated.
California FEHA automated-decision rules, and SB 947 Four years of retained automated-decision data, including the criteria used and the outputs produced, and a record of whether a human actually exercised judgement.
EEOC / Uniform Guidelines Adverse impact measured as an impact ratio — a group's selection rate over the best group's rate — which is only computable if group data exists at all.

What is enforced in the product today

Demographic data cannot reach the scoring path

Voluntary self-identification, where it is collected, lives in its own table that nothing in the scoring pipeline is permitted to join. Not the prompts, not the embeddings, not the criteria evaluator, not the ranking, not the voice screening, not any recruiter's screen. It is a separate table rather than extra columns on the candidate record for a specific reason: reading the whole candidate record is something our code does everywhere, and a demographic column sitting there would end up inside a model prompt within a week.

Collecting this data and then letting the model see it would be materially worse than never collecting it. It converts a question about unequal outcomes into one about unequal treatment. The separation is the point, and it is enforced by construction, by a restricted read role, and by a test that fails if those column names appear anywhere near a scoring query or a prompt.

A scorer may not judge what it cannot hear

Our screening call is scored on how someone communicates, which makes the boundary between "communication" and "accent" the most dangerous line in the product. We found our own scorer crossing it: given only a transcript and no audio, it returned a judgement about a candidate's first language and the influence it had on their speech — an accent assessment made from text, feeding a rejection.

We closed the wording that allowed it, and then we enforced it in code on both scoring paths, because a prompt is guidance and this needed to be a guarantee. Dimensions that depend on hearing someone are now discarded outright when there is no recording to hear.

A hiring filter that screens on a protected characteristic is refused

A criterion is an instruction applied to every applicant, identically, without tiring. "Candidates under 30" is not a mistake the tool makes once — it is the tool doing exactly what it was told. So we refuse to save it, on the way in and on every edit afterwards, across criteria and job descriptions alike.

Two layers. Patterns catch the explicit wording; a model reads what patterns cannot anticipate, like "someone who will fit in with our young team". Wording that is often legitimate and often a proxy — "must be able to lift 25kg" — is flagged rather than refused, because a check that blocks lawful hiring gets switched off, and then it protects nobody. Equal-opportunity statements are never flagged.

A human decides

Fasmac ranks and scores. It does not send rejections on its own. A recruiter sees the scorecard, the evidence behind each verdict, and the recording where there is one — and makes the call.

Every automated decision is written down, and cannot be edited afterwards

Five gates decide something about a candidate — the criteria screen, a recruiter overriding it, the ranking, the screening call, and the integrity check on that call. Each one now records what it decided: the score, the threshold it was measured against, which version of the system produced it, and whether a human exercised judgement or the system acted alone.

The log is append-only, and that is enforced by the database rather than by everyone remembering not to edit it. Corrections are new rows. "The record was amended" is the worst possible answer to give a regulator.

This is what makes a selection rate computable at all, and what means a verdict from last March can still be traced to the configuration that produced it.

What we have built but are not yet running

Being specific about this is the whole point of the page.

We have not completed an independent bias audit

We would rather tell you that than let a badge imply otherwise. The infrastructure an auditor needs is being built deliberately and in the right order, and we would rather publish the date we finish it than a claim we cannot evidence. If a bias audit is a procurement requirement for you, ask us where we are — you will get a straight answer and a timeline, not a logo.

Two things we are careful about saying

An audit certifies a version, not "the product"

The moment anyone edits the interviewer's instructions, the conduct rules or a criteria set, the deployed system has drifted from whatever was audited. We record what the system was at each point in time — the interviewer persona, the conduct rules, the criteria in force, the engine build and the model that actually scored — so that "what changed since last year" has an answer, and so an audit of one model is never quoted as covering another.

Fit is measured against the role, not against the people already there

"Culture fit" scored as similarity to the current team is a mechanism for reproducing whatever that team already looks like. Where we score fit, it is against the working conditions and demands the employer has described for the role.

Ask us

If you are evaluating Fasmac and need our position on adverse impact, retention, candidate consent or where a human sits in the loop, write to hello@fasmac.co. Related: Privacy.