NailScannailscan.ai
Technology

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.

01

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.

FIELD 01
surface

Plate texture. Ridging, pitting, lamellar peeling, residue from prior wear.

Constraint · describe only, never attribute cause
FIELD 02
color

Bed and plate coloration read through the plate. Uniformity, staining, yellowing, banding, and where it begins.

Sets · discoloration_flagged
FIELD 03
structure

Thickness, breakage, splitting, thinning, and separation of the plate from the bed.

Sets · onycholysis_visible
FIELD 04
cuticle

Eponychium and proximal fold. Dryness, build-up, trauma, evidence of over-cutting.

Feeds the care plan · never the referral rule
FIELD 05
confidence

Whether the photograph supports a reading at all. The one field that can stop everything else.

Below threshold · nothing is released

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.

Plate II  ·  Specimen Taxonomy 30 studies · 15 forms · drawn, not photographed
NS·01LAMELLAR PEELNS·02PEEL + THINNINGNS·03PITTING + PEELNS·04THINNINGNS·05CAST + RIDGINGNS·06DISTAL CASTNS·07BAND + CASTNS·08OVER-FILEDNS·09SURFACE PITTINGNS·10FINE RIDGINGNS·11EVEN PLATENS·12DISTAL SPLITNS·13LONGITUDINAL BANDNS·14DEEP RIDGINGNS·15FULL CASTNS·16DISTAL SPLITNS·17DISTAL CASTNS·18PITTING + PEELNS·19EVEN PLATENS·20OVER-FILEDNS·21CAST + RIDGINGNS·22FINE RIDGINGNS·23LAMELLAR PEELNS·24DEEP RIDGINGNS·25SURFACE PITTINGNS·26LONGITUDINAL BANDNS·27THINNINGNS·28PEEL + THINNINGNS·29FULL CASTNS·30BAND + CAST

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

02

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.

4 3 7 6 5 2 1
1
Nail plateTexture, ridging, peeling, residue. → surface
2
Free edgeSplitting, lamellar separation, wear. → surface, structure
3
Lateral foldsWhere lifting shows first. → structure
4
Proximal foldDryness, build-up, over-cutting. → cuticle
5
Nail bedRead through the plate. → color
6
LunulaCalibrates the bed reading. → color
7
HyponychiumWhere separation becomes visible. → structure

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.

Plate III  ·  Colour Field 8 gradations · descriptive, not diagnostic
UNIFORM BED#D9A091PALE BED#E6BCAEDISTAL YELLOW#CBA85EDEEP YELLOW#B0873ASURFACE STAIN#C98F78LONGITUDINAL BAND#8A6A48WHITE PATCH#E9E2D8COOL CAST#A9AAB9

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.

03

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.

Figure 01 — Assessment pipeline, seven stages
010203 04050607 Aperture ONYX-5 Gate Flags Routing Care Graph Ledger IMAGE ADMISSION PERCEPTUAL LAYER τ = 0.72 VERDICT CORE VERDICT CORE PLAN BINDING PERSIST → DELIVER HALT → RESHOOT REQUEST · NO PARTIAL REPORT RELEASED PROBABILISTIC — 1 STAGE DETERMINISTIC — 6 STAGES, AUDITABLE IN SOURCE
The halt path is the important edge. A pipeline that only draws its happy path is describing a demo. Stage 3 returns control to the client with instructions rather than passing a low-confidence reading downstream, and no record of an assessment reaches them.
Figure 02 — The confidence gate
τ = 0.72 0.00 0.25 0.50 1.00 SELF-REPORTED CONFIDENCE — DOES THIS IMAGE SUPPORT A READING? Insufficient evidence PIPELINE HALTS · FIELDS DISCARDED FROM CLIENT PATH · RESHOOT INSTRUCTIONS RETURNED Reading released STAGES 4–7 PROCEED RAISING τ INCREASES REPORT INTEGRITY AND LOWERS COMPLETION RATE. CONFIGURABLE PER DEPLOYMENT — THE GATE ITSELF IS NOT.
Where the invention would happen. Handed a blurred photograph, the perceptual layer is entirely capable of producing four fields of fluent, plausible, wholly unsupported description — and nothing in the language of that output would warn the reader. The gate exists because the failure mode of this class of system is not visible error, it is confident invention.

The correct answer to a bad photograph is no answer.

Design principle · refuse before fabricate
04

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

Figure 03 — The determinism boundary
PROBABILISTIC · MODEL AUTHORITY ENDS HERE ONYX-5 extraction FILLS 5 OBSERVATION FIELDS · NOTHING ELSE SCHEMA VALIDATION · REJECT + RETRY DETERMINISTIC · AUDITABLE IN SOURCE Flag derivation Referral routing Wear-type class. Care Graph bind Report render Persist + deliver
The question to ask any AI vendor: which parts of your output can change between two identical inputs, and who wrote the part that gives advice? If they cannot draw that line on a whiteboard, there is no line.
Proof · reproducibility harness one pinned image · three passes
What the digest proves: the value beside each pass is a checksum of that pass's entire output. Identical digests mean identical bytes. Switch modes and run it again — same photograph, same settings, and the column stops agreeing with itself.
05

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.

verdict-core / referral.js · v1.8 live evaluation
OBSERVATION FLAGS — set by ONYX-5
Try this: turn on lifting alone — nothing. Add colour change and R3 fires. Neither is sufficient on its own; together they are. Practitioners wrote that rule, not a model.
SOURCE — the line that fires is highlighted
DERIVED OUTPUT
no referral indicated
Note the ordering: it returns on the first match, so R1 shadows R2 and R3. Deliberate — one recommendation is enough, and listing every reason to a lay reader is alarming rather than informative. The full flag set still lands on the record for your staff.
06

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.

On agreement figures: they are deployment-specific, sensitive to operator technique and to the rubric version in force, and are not published here as marketing. A headline accuracy percentage divorced from its rubric version is close to meaningless. Ask on the call.
07

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.