Why this is not a gimmick.
A model free to say anything will eventually say something flattering, something wrong, or something that gets a salon sued. NailScan is built to make all three structurally difficult. Here is how, in enough detail to argue with.
The model is not asked for an opinion. It fills in a form.
Five fields. It cannot add a sixth, cannot skip one, and cannot answer in prose. Anything that fails validation is rejected and retried — never shown to a client.
Plate texture. Ridging, pitting, lamellar peeling, residue from prior wear.
Bed and plate coloration read through the plate. Uniformity, staining, yellowing, banding, and where it begins.
Thickness, breakage, splitting, thinning, and separation of the plate from the bed.
Eponychium and proximal fold. Dryness, build-up, trauma, evidence of over-cutting.
Whether the photograph supports a reading at all. The one field that can stop everything else.
A fixed schema is what makes the output a database row instead of a paragraph. It is the reason findings can be mapped into CRM fields, filtered, counted and used to branch a follow-up sequence. Free-text AI output can do none of that.
Thirty formal conditions the schema has to tell apart, and the reason a labelled training corpus was never going to work here: this is a fraction of the space, before you add gel, acrylic, chrome, extensions, grow-out and every skin tone under domestic lighting. We wrote a specification instead of annotating fifty thousand photographs. Illustrations · not client photographs · no client image appears anywhere on this site
Seven regions. Five fields.
ONYX-5 does not ask the layer to look at “the nail.” It directs attention to named regions and states which field each one informs.
A finding is only useful if it is localised. “Something looks off” cannot drive a care plan or populate a field. “Lifting at the lateral fold on two of five plates” can do both, and can be checked against a technician's own eyes.
The color field has to separate these eight, and it has to know where on the plate each one sits — a cast across the whole nail is a different finding from a cast confined to the outer third. These are descriptive categories. None of them is a diagnosis and the report never names a condition.
Where the model sits, and where it does not.
One probabilistic stage out of seven. Everything a client is told is produced downstream by deterministic code.
The correct answer to a bad photograph is no answer.
Design principle · refuse before fabricateThe same hand, twice, gets the same answer.
This is the clearest line between an instrument and a novelty. A generative toy re-rolls its answer every time because nothing constrains it. Here the model's entire output surface is five observation fields, and everything consequential is computed from them in code — so advice is not re-derived, it is calculated.
Low sampling temperature, schema validation at the tool boundary, a pinned and version-stamped rubric, and versioned care content. Because the raw fields are stored, any historical report can be re-rendered exactly as the client saw it.
The part that gives advice is code you could read over a coffee.
Whether a client is told to see a professional is decided by the function below. Not a prompt. Not a model output. Toggle the flags and watch it run.
Checked against a human holding a microscope.
Model output never compared to ground truth is a guess with good formatting. In the reference deployment, every scan could be validated in person: clients were offered a free in-studio assessment, and a technician walked the report nail by nail under magnification.
Disagreements get sorted into three causes, and only one of them is a model problem. Usually the rubric was ambiguous — a specification defect, fixed by editing a paragraph. Sometimes the photograph could never have supported the reading, which is an admission-control problem. The residue is genuine extraction error, tracked separately.
What it does not do.
Published deliberately. A vendor who lists no limitations is describing a demo.
- It does not diagnose. No condition named, no infection identified, no pathology asserted. It reports what is visible and, where the rules require, recommends professional review.
- It is not a medical device and is not offered, marketed or certified as one.
- It cannot see what a photograph cannot show. Subsurface conditions, anything under polish or an enhancement, anything outside the frame. The report says so rather than guessing.
- It does not replace a technician. It gets a better-informed client into a chair, where a trained human does the work.
- It will refuse. Below the confidence threshold the honest output is a reshoot request, and that is what the client gets.
- It does not flatter. If the nails are damaged, the report says so. Salons wanting a tool that compliments every client should not buy this one.
- Extraction is not claimed to be bit-deterministic. The derivation layer is, by construction. The perceptual layer is variance-bounded. That distinction is in the white paper and we will not soften it.
Bring your hardest question.
On the call we run a live scan, show the unrendered model output beside the finished report, and walk the referral logic line by line.