Product Facts

What ClearToFill does, what it does not do, and how its numbers are defined — kept in step with the implementation, and verified by the same test suite that gates every release. Where a claim is backed by an automated check, the evidence is named.

What ClearToFill is

ClearToFill is a deployment intelligence and action layer for credential-dependent staffing.
It answers: who could be working but is not, why they are blocked, which blocker matters most economically, what should happen next, and whether the intervention actually helped — then executes the document chase and tracks the outcome honestly.
Verified by opportunity.ts, recommendations.ts, chase.ts in the automated suite.
ClearToFill is not an ATS, not payroll, not scheduling, not a job board, and not a generic credential repository.
It sits across the systems an agency already runs. Today it ingests roster and shift spreadsheets; direct system connectors are on the roadmap, not in the product.
Verified by future-roadmap.md in the automated suite.

Economic definitions

Three different figures appear in the product. They measure different things and are never mixed in one sentence.

Potential billings (per worker) deliberately double-count shifts shared between blocked workers, and are used only to rank the queue.
Two blocked nurses on one shift are two ways to lose it.
Verified by opportunity.test.ts, board-pure.test.ts in the automated suite.
Billings at risk counts each open shift once — never once per blocked worker — and excludes shifts an already-cleared worker can cover.
One $900 shift with five blocked candidates is $900 at risk, not $4,500 — and $0 if a cleared worker can already take it.
Verified by golden-scenarios.test.ts, product-truth.test.ts in the automated suite.
Incremental opportunity is a per-worker counterfactual: only shifts that would become coverable if this specific worker were cleared, given everyone else’s availability.
It is not additive across workers, and the product never sums it.
Verified by opportunity.test.ts in the automated suite.
"Recovered revenue" is never claimed from a cleared credential. Each outcome rung — identified, action started, blocker resolved, worker deployable, shift filled, billings confirmed — is a separate recorded event, and only agency-confirmed billings support revenue language.
Verified by outcomes.ts, outcomes.test.ts in the automated suite.
Shifts without a bill rate are counted and shown as unpriced — never silently valued at zero and never estimated.
Verified by opportunity.test.ts, product-truth.test.ts in the automated suite.

Eligibility and readiness

Credential requirements compose from three sources — role defaults, facility requirements, and shift-specific requirements — and every blocker names which source demanded it.
Verified by requirements.ts, requirements.test.ts in the automated suite.
Credential validity is evaluated as of each shift date. A credential expiring after a shift does not block that shift.
Verified by credentials.test.ts, eligibility.test.ts in the automated suite.
"Today" means today where the agency operates, not the server’s UTC date — boards do not roll over at 8pm Eastern.
Verified by dates.test.ts, 0004_pilot_safety.sql in the automated suite.
"Cleared" in ClearToFill means: every credential requirement configured for the role, facility, and shift is satisfied by evidence a person at the agency accepted. It is an operational readiness signal, not a legal determination of eligibility to work.
Verified by credentials.ts in the automated suite.

Where AI runs — and where it never does

AI runs in exactly one place: reading uploaded credential documents into a structured observation (type, dates, holder, confidence).
Verified by anthropic.ts, ai-boundaries.md in the automated suite.
AI never clears a worker, never changes compliance status, and never computes a dollar figure. Every uploaded document goes through human review before it counts.
Pending documents do not clear anyone — enforced by the credential engine, not by convention.
Verified by product-truth.test.ts, credentials.test.ts in the automated suite.
When automatic reading fails or is unavailable, the document still lands in manual review and the worker’s upload flow never breaks.
Verified by documents.ts in the automated suite.
The extraction model is instructed never to infer or calculate an expiration date that is not printed on the document, and low-confidence readings are flagged for review with a reason.
Verified by anthropic.ts in the automated suite.

Data quality and confidence

Every economic figure carries a confidence level derived from data completeness — unknown availability and missing bill rates lower it, and the reasons are shown.
Verified by completeness.ts, completeness.test.ts in the automated suite.
When open-shift data goes stale, the product says so instead of presenting old demand as current.
Verified by attention.test.ts in the automated suite.

Actions

ClearToFill recommends the next intervention with a deterministic rationale; a person approves it by sending. The only action it executes today is the credential document request (SMS or email) with a secure upload link.
Verified by recommendations.ts, recommendations.test.ts in the automated suite.
Outbound contact is guarded: opt-outs are honored permanently, duplicate requests are refused, reminders are capped at two with a 24-hour cooldown, and every channel has a kill switch.
Verified by communication-safety.test.ts, chase-machine.test.ts in the automated suite.
Every meaningful intervention is traceable end to end: recommendation → approval → message → worker response → document → review decision → deployability → recorded outcome.
Verified by 0006_recommendations.sql, action-timeline.ts in the automated suite.

Security

Only implementation-backed claims. The Security page carries the full statement.

Tenant isolation is enforced in two independent layers — application checks on every request and row-level security in the database — and exercised by automated tests against real PostgreSQL.
Verified by rls.test.ts in the automated suite.
The audit trail is append-only, enforced by the database itself — history cannot be edited by anyone, including ClearToFill.
Verified by migrations.test.ts in the automated suite.

Current limitations

Stated plainly, because a tool you trust has to be honest about its edges.

ClearToFill holds no SOC 2, HIPAA, or ISO certification today. Security controls are real and tested, but no external attestation exists yet.
Data arrives by spreadsheet import. There is no live ATS, VMS, or scheduling integration yet, so the board is only as current as the last import.
ClearToFill does not make legal eligibility or licensure determinations, does not perform primary source verification, and is not a substitute for the agency’s own compliance obligations.
Revenue attribution is honest, which means incomplete: ClearToFill records whether a shift filled and what the agency confirms was billed. It does not claim credit it cannot verify.
Verified by outcomes.ts in the automated suite.
Nothing runs autonomously. Every outbound message is human-initiated today; automation levels beyond that will be per-agency, opt-in, and evidenced first.
Shift overlap is modeled at calendar-day granularity; shift times within a day are not yet considered.