Every score has a paper trail.
AuraGrade is built on one principle: a grade you can't audit is a grade you can't trust. Below is the full pipeline — from the moment your photo lands on our server to the moment your composite score is computed. Every step is open to inspection.
The 7-stage pipeline
A scan moves through seven deterministic stages. Stages 1–4 run pure OpenCV. Stages 5 and 7 are dedicated AI passes — one for forensic defect detection, one for expert-voice report writing. Each AI call does one job; nothing competes for attention. Stage 6 is Python applying the rubric. Same input → same output, every time.
Four axes, 100-point each
Every card is graded on four independent axes. Each axis runs 0–100 with its own deduction ladder, derived from the strictest interpretation across PSA / BGS / CGC published standards. All 50+ individual rules run through a single deterministic engine — same input, same output, no marketing veneer.
The bucket-floor rule
Your weakest axis caps the whole card. AuraGrade applies `composite ≤ min(axis_scores) + 7` on the 100-point scale. A card with corners at 88 has its composite ceiling at 95, no matter how perfect the other three axes are. This mirrors BGS's published practice of anchoring on the lowest subgrade — a rubric you can audit, not a grader's mood.
composite ≤ min(axis_scores) + 7 # Example: corners=88 is the worst axis. # composite is capped at 95, regardless of how clean # centering / edges / surface are.
Composite → tier map
Our tier map treats BGS 10 Pristine as the tier above PSA 10 Gem Mint — an AuraGrade internal mapping convention, not a published industry equivalence — because BGS Pristine requires every subgrade ≥ 9.5 with at least one 10, a stricter bar than a single PSA 10 numeral. Phone-shot inputs cannot reach Pristine; only scanner-grade captures qualify.
| COMPOSITE | TIER | NAME |
|---|---|---|
| 98–100 | BGS 10 | Pristine — scanner only (Black Label = all four subgrades = 10, an even stricter tier) |
| 95–97 | PSA 10 | Gem Mint |
| 85–94 | PSA 9 | Mint |
| 75–84 | PSA 8 | NM-MT |
| 65–74 | PSA 7 | Near Mint |
| 55–64 | PSA 6 | Excellent-Mint |
| 45–54 | PSA 5 | Excellent |
| 35–44 | PSA 4 | Very Good–Excellent |
| 25–34 | PSA 3 | Very Good |
| 15–24 | PSA 2 | Good |
| 0–14 | PSA 1 | Poor / Authentic |
Confidence-cap policy
Every report comes with one of four confidence bands, derived from input quality (tilt angle, Laplacian sharpness, exposure). The band sets a hard cap on what tier we'll predict — because phone optics cannot see what photometric stereo lighting can. Hairline scratches, sub-mm dents, light gloss loss: these defects require raking light at capture time, and no LLM can recover what's not in the pixels.
The honest accuracy ceiling
Phone-shot input has a structural ceiling that no LLM can break. PSA itself disagrees with itself on ~15-20% of resubmissions, so any claim above that is mathematically suspect. We're a PSA-10-blocker detector (calling "don't bother sending this") with ~95% reliability, not a PSA-10 confirmer. Send your $200 card to PSA only when this page says so — and not before.
| TRUE PSA GRADE | WITHIN ±1 TIER | EXACT TIER |
|---|---|---|
| PSA 10 (Gem Mint) | ~70% | ~25% |
| PSA 9 (Mint) | ~85% | ~55% |
| PSA 8 (NM-MT) | ~90% | ~65% |
| PSA 7 (NM) | ~90% | ~60% |
| PSA ≤ 6 | ~95% | ~70% |
Targets derived from vision-LLM literature, internal tests, and the published PSA / BGS / CGC standards. Consented user outcomes feed back into rubric calibration so accuracy keeps improving — see /accuracy for the current residual band.