Every score traceable to a model call. Built on an immutable audit ledger. Read how

hragent
AI hiring pipeline

Every CV scored. Every score explained.

HRAgent turns a job description into a frozen rubric, scores every applicant with a 3-vote model ensemble, verifies claims against public evidence, and hands you the same top 10 every time you run it.

No demo data in the product. What you see is what ran.

ONAUDIT LEDGER240RUBRIC v3 · FROZENPDF3327PDF7312PDF5318Intake scanParseVerificationTop 103 independent scoresAudit ledger
5/5identical top-10 sets across isolated runs
3xindependent scores per criterion
100%of model calls stored verbatim
0hardcoded evaluation rules
How it works

From job description to defensible shortlist.

  1. Approve the rubric

    Your JD becomes weighted criteria. The run freezes the version you approve.

  2. Collect and screen

    A hosted form validates, virus-scans, and de-duplicates every CV.

  3. Score three times

    Independent votes per criterion, median wins. Public claims go out for verification.

  4. Cut the top 10

    Deterministic aggregation, pairwise checks at the cutoff. Rank 11 is explainable.

How it works

From job description to defensible shortlist.

  1. Approve the rubric

    Your JD becomes weighted criteria. The run freezes the version you approve.

  2. Collect and screen

    A hosted form validates, virus-scans, and de-duplicates every CV.

  3. Score three times

    Independent votes per criterion, median wins. Public claims go out for verification.

  4. Cut the top 10

    Deterministic aggregation, pairwise checks at the cutoff. Rank 11 is explainable.

What you get

Rubric you approve

Nothing is scored against criteria you have not read. Regenerate with an instruction; approve to lock a version.

Evidence on every score

Each 0 to 4 score carries verbatim quotes from the CV. No score exists without its receipt.

Background verification

Public profiles are checked out of band. Verified, unverified, or contradicted, with sources.

Live run monitor

Watch every candidate move through parsing, scoring, and verification as it happens. Real events only.

Immutable audit ledger

Every model call, vote, and comparison is stored. Overrides are recorded, never overwritten.

Isolated by design

Row-level security per tenant, signed webhooks, virus-scanned uploads, erasure on request.

Live monitor

Watch the pipeline think.

This is the actual run monitor component running a scripted 12-candidate scenario.

Simulated preview
Queued12
Parsing0
    Scoring0
      BG check0
        Verifying0
          Done0
            Consistency

            Same CVs. Five runs. One shortlist.

            Ensemble medians, integer-only aggregation, and pairwise checks at the cutoff. We gate releases on five isolated runs producing an identical top-10 set, with no caching.

            Run 1
            C-04A7C-1B32C-9E01C-77C4C-D218C-30AFC-6F55C-A9E3C-52B8C-E76D
            Run 2
            C-04A7C-1B32C-9E01C-77C4C-D218C-30AFC-6F55C-A9E3C-52B8C-E76D
            Run 3
            C-04A7C-1B32C-9E01C-77C4C-D218C-30AFC-6F55C-A9E3C-52B8C-E76D
            Run 4
            C-04A7C-1B32C-9E01C-77C4C-D218C-30AFC-6F55C-A9E3C-52B8C-E76D
            Run 5
            C-04A7C-1B32C-9E01C-77C4C-D218C-30AFC-6F55C-A9E3C-52B8C-E76D

            Jaccard(top-10) = 1.0

            Verification

            Claims are checked, not trusted.

            Candidates with public links get an out-of-band background check. Findings come back as condensed, sourced summaries; the verifier can adjust any score by at most one point, and both numbers are kept.

            4 years maintaining a public Python ETL library.

            github.com/…/etl-kit

            unverifiedverified (github)
            Security

            Boring where it counts.

            Tenant isolation

            Postgres row-level security enforced in the database.

            Screened uploads

            Magic-byte checks and ClamAV scanning, fail closed.

            Signed webhooks

            HMAC in both directions with replay protection.

            Right to erasure

            Candidate data deleted on request; the audit structure survives without it.

            Run your next hire through it.

            Onboarding is guided: bring a JD, approve a rubric, share a link.