# Controls & reason codes

> Every control an FCRA order runs, in order, for sex offender and criminal searches: exact date of birth, state rules, seven-year limits and re-verification.

- **HTML:** https://offendersearch.app/docs/fcra/controls
- **Base URL:** https://api.offendersearch.app
- **Authentication:** `X-API-Key` request header, on an account with FCRA Partner Access
- **FCRA API reference as markdown:** https://offendersearch.app/docs/fcra.md

## How the controls run

Each search in an order first runs **live** in the relevant jurisdictions, and in our data everywhere else. Live and data candidates are merged under every name supplied, then pass the controls below in order. A relevant jurisdiction that cannot be searched live makes the result `incomplete`, never `clear`.

- **Sex offender — relevant registries:** the registry of each state in `subject.addresses` and of `useLocation.state`, plus the registry of every exact-date-of-birth candidate. National registries are searched in our data unless `liveScope` is `"all"` or they produced a candidate.
- **Criminal — relevant sources:** every live-capable court and custody source covering one of those states, plus the sources of every exact-date-of-birth candidate.
- **Restricted registries are never searched live.** A registry whose records are withheld for the order’s purpose (California for every purpose; Nevada and New Jersey for tenant screening) shows `restricted: true` in `coverage` and does not make the result incomplete.
- **No addresses, no use state, no candidates:** the order has no relevant jurisdictions, its result rests on our data, and every `coverage` row says `mode: "snapshot"`. Send the address history to get live coverage.

Then each candidate is checked in order. A candidate that fails one is withheld with that reason code. The controls are versioned: the order carries `controlVersion`, and the evidence record pins a hash of the exact rules that ran.

## Sex offender search

| Step | Control | Reason code |
| --- | --- | --- |
| a | **Exact date of birth.** Only a record whose date of birth matches the subject’s exactly can be furnished. A year, age or name-only match is withheld. | `insufficient_identifiers` |
| b | **Jurisdiction and purpose restrictions.** California registry information is withheld for every purpose (Cal. Penal Code § 290.46(j)); Nevada (NRS 179B.270) and New Jersey (N.J.S.A. 2C:7-16(c)) registry information is withheld for tenant screening. The check covers each registry that holds the person. | `jurisdiction_restricted` |
| c | **Disputes.** A record removed by a resolved dispute is withheld from later orders about the same consumer. | `disputed_suppressed` |
| d | **Re-verified before it is furnished.** Each remaining record is re-verified with the official source. No longer listed: withheld. Source unreachable: withheld, and the result is `incomplete`. | `not_current_at_source` · `verification_unavailable` |

## Criminal search

| Step | Control | Reason code |
| --- | --- | --- |
| a | **Exact date of birth**, as above. | `insufficient_identifiers` |
| b | **Federal seven-year rule.** Charge by charge, an item that is not a conviction — an arrest, a dismissed or pending charge, a booking, a warrant — is removed once it is more than seven years old (15 U.S.C. § 1681c(a)(2), (a)(5)). Convictions are not limited by federal law. Employment at a stated `annualSalary` of $75,000 or more lifts this rule (§ 1681c(b)(3)). | `obsolete_non_conviction` |
| c | **State seven-year limits.** A conviction more than seven years old is removed when the record’s state, a state in `subject.addresses`, or `useLocation.state` is one of the states below. We apply each limit conservatively, without the exceptions some of those states allow; the salary exemption does not lift a state limit. | `time_limited` |
| — | **Missing date or disposition.** If a seven-year rule could apply but the date or disposition needed to decide it is missing, the charge is removed rather than reported on a guess. | `obsolescence_undeterminable` |
| d | **Disputes**, as above. | `disputed_suppressed` |
| e | **Re-verified before it is furnished**, and the time rules run again on the fresh copy. | `not_current_at_source` · `verification_unavailable` |

### States with a seven-year conviction limit

| State | Citation |
| --- | --- |
| CA | Cal. Civ. Code § 1786.18(a)(7) |
| CO | Colo. Rev. Stat. § 5-18-109 |
| KS | Kan. Stat. Ann. § 50-704 (citation under review) |
| MA | Mass. Gen. Laws ch. 93, § 52 (citation under review) |
| MD | Md. Code, Com. Law § 14-1203 (citation under review) |
| MT | Mont. Code Ann. § 31-3-112 |
| NH | N.H. Rev. Stat. Ann. § 359-B:5 (citation under review) |
| NM | N.M. Stat. Ann. § 56-3-6 (citation under review) |
| NY | N.Y. Gen. Bus. Law § 380-j |
| TX | Tex. Bus. & Com. Code § 20.05 |
| WA | Wash. Rev. Code § 19.182.040 (citation under review) |

## The evidence record

Every order writes an evidence record — accepted and refused requests alike — holding the end user, the purpose, your consent attestation, the subject identifiers, what each source answered, the control version and hash, and every record furnished or withheld with its reason. It is written once and never edited, so the rules a past answer ran under can be shown exactly.

---

## Related

- Previous: [Evidence & verification](https://offendersearch.app/docs/fcra/evidence.md)
- Next: [Disputes & reinvestigation](https://offendersearch.app/docs/fcra/disputes.md)
- Index: [FCRA API reference](https://offendersearch.app/docs/fcra.md)
