Enterprise Briefing Operational POC Harris County, TX POC FCRA § 1681 Technical Safeguards

County-Level Public Records Acquisition, Normalization & QA Capability

Enterprise Technical Pitch & Architecture Demonstration for Content Acquisition, Legal Engineering, and Identity Resolution Teams at Tier-1 Public Records & Risk Solutions Aggregators.

Author: Chrisian Data Architecture
Jurisdiction: Harris County, TX (16 JP Courts)
Spec Conformance: JCIS CivilFileSpec.pdf (02/24/2025)
Live Portal: courtdata.chrisianinc.com

The Executive Problem & Core Value Proposition

National aggregators have mastered federal and state appellate courts, but county-level municipal and justice courts remain an operational bottleneck: fragmented dockets, brittle web scrapers that fail under perimeter WAF updates, non-standard address strings that frustrate identity clustering, and unmanaged compliance liabilities.

Chrisian has built a purpose-built, direct-source acquisition, 70-column normalization, and human-in-the-loop QA pipeline that converts county court dockets into pristine, entity-clustered feeds ready for immediate ingestion into enterprise identity graphs and legal docket intelligence platforms.

9,600
Live Filings Ingested
Harris County JP Courts 1-1 to 8-2
6.4%
Straight-Through Rate
Automated clustering ≥ 0.85 score (no DOB on TX JP dockets)
30 / 70
Normalized Columns
Of the full CivilFileSpec.pdf layout
100%
Cryptographic Hash
SHA-256 pre-parsing snapshot audit
01

How We Acquire the Source Data

Rather than running fragile, evasive scrapers that trigger Cloudflare anti-bot blocks or violate computer use policies, Chrisian interfaces directly with official county-sanctioned bulk extract channels:

[County Court Endpoint (JCIS/Odyssey)] │ HTTP GET /PublicExtracts/GetExtractData ▼ [Ingestion Worker on US VPS (2.25.115.67)] │ ├──▶ Calculate SHA-256 Checksum ├──▶ Land Raw Snapshot to Disk (storage/snapshots/...) └──▶ Register Audit Record in PostgreSQL (raw_snapshots table)
02

How We Extract and Normalize It

Raw court exports are passed through a deterministic normalization engine adhering strictly to Harris County's official file specification (CivilFileSpec.pdf, revised February 24, 2025):

03

What Percentage Can Be Processed Automatically

Across the operational POC's ingestion of 9,600 filings from Harris County JP Courts:

Pipeline Stage Straight-Through Processing (STP) Human Intervention Governing Mechanism
Ingestion & Landing 100.0% 0.0% Automated cron with SHA-256 integrity validation
30-of-70-Column Normalization 100.0% 0.0% Deterministic grammar parser adhering to CivilFileSpec.pdf
Entity Resolution 6.4% 93.6% Jaro-Winkler multi-attribute match score ≥ 0.85 threshold
FCRA 7-Year Obsolescence 100.0% 0.0% Automated SQL date boundary rule (15 U.S.C. § 1681c)
Option A Dispute Suppression 100.0% 0.0% Immediate automated withholding upon dispute lodgment

Why Texas JP Courts Require a Calibrated 0.85 Threshold: Texas Justice Courts do not collect Date of Birth (DOB) or SSNs on civil dockets. Straight-through automation must therefore be strictly governed by exact surname matching, first name string distance, and normalized address components to prevent false positive merges.

Identity matching is a separate, optional layer: source acquisition and 70-column normalization do not depend on entity resolution succeeding. If the aggregator's use case only requires normalized, source-verified court records — not person-level identity clustering — that layer can be omitted entirely, which removes the 6.4% / 93.6% split above as a consideration altogether.

04

What Conditions Send a Record to Manual Review

To prevent incorrect merges into downstream credit or identity profiles, the system enforces automated exception routing (status = NEEDS_REVIEW). Two conditions are coded and running today; three more describe scenarios the pipeline does not yet detect, included to show where review logic would extend next:

Operational today:

  1. Sub-Threshold Confidence Score (0.50 ≤ Score < 0.85): Common surname match (e.g. "Miller, John") where address details diverge or lack secondary unit confirmation. Below 0.50, no candidate is considered at all and a new canonical subject is created instead.
  2. Active Consumer Dispute (FCRA § 1681i): Any consumer challenge immediately suppresses delivery matches and diverts the filing to the 30-day reinvestigation queue.

Not yet detected — proposed extensions:

  1. Ambiguous Joint or Corporate Aliases: Cases filed with compound defendant strings (e.g. "Doe, John & Jane Doe d/b/a ABC Enterprises") where party boundaries require legal pleading inspection.
  2. Contradictory or In-Rem Addresses: Post Office Boxes (P.O. Box) listed as the service address in an in-rem eviction action, requiring cross-referencing with property appraisal district (HCAD) parcel data.
  3. Conflicting Docket Dispositions: Entries containing ambiguous procedural steps (e.g., an interlocutory default judgment followed by an "Order to Vacate" or appeal notice).
05

What the Manual Verification Process Looks Like

What is operational today: every sub-threshold match is flagged NEEDS_REVIEW and automatically withheld from the Screening API's reportableRecords response — confirmed live, not an API response fabricated for this brief. What is a proposed design, not yet built: a staffed triage console, a service-level commitment, and a dual-control approval workflow for resolving those flags. The mockup below illustrates the intended design for that console; it does not reflect a tool or a review team operating today.

+---------------------------------------------------------------------------------------------------+ | ILLUSTRATIVE DESIGN — PROPOSED QA CONSOLE (NOT YET BUILT) | +---------------------------------------------------------------------------------------------------+ | RAW EXTRACT PAYLOAD PROPOSED RESOLUTION MATCH CONFIDENCE: 0.8165 | | Case: 24-EV-009941 Subject: John Robert Miller [SUB-THRESHOLD EXCEPTION]| | Court: JP 1-1 (Houston) Canonical ID: sub_8401a... | | Party: Miller, Jonathan Existing Address: 1200 Main #401 | | Addr: 1200 Main St, Apt 402 Filing Address: 1200 Main St, #402 | +---------------------------------------------------------------------------------------------------+ | QA TRIAGE ACTIONS: | | [1] CONFIRM MERGE (Override score; verified same person moving units within property) | | [2] SPLIT CANDIDATE (Spawn new unique Subject ID sub_9912b...; prevents cross-contamination) | | [3] REQUEST DOCKET PLEADING (Fetch certified PDF pleading to verify lease signature) | | [4] SUPPRESS RECORD (Withhold from screening feeds under Rule 12 or FCRA ambiguity) | +---------------------------------------------------------------------------------------------------+ | AUDIT RECORD: Reviewer ID: QA-402 | Timestamp: 2026-09-14T19:20:00Z | Mandatory Justification | +---------------------------------------------------------------------------------------------------+

Proposed, for an agreed engagement — none of this is staffed or running today:

06

What Structured Output We Can Provide

Chrisian is designing toward two enterprise delivery modalities. Both exist today in a working but simpler form than full production delivery; the gap between what runs now and what's proposed is specific and listed below each one.

Modality A: Batch Extracts (JSONL + SHA-256 Manifest)

Operational today: the portal generates a JSONL extract plus a SHA-256 manifest on request (download, not a scheduled push) — the flat fields are case number, court, county/state, record type, filing date, disposition, judgment amount, the extracted defendant, last-verified timestamp, and the source snapshot ID. Proposed, not yet built: scheduled nightly delivery via S3 bucket drop or SFTP, and the richer nested schema below (disposition detail, plaintiff, FCRA reportability flags, full provenance) — shown to illustrate the target shape, adaptable to the aggregator's own field spec once scoped.

{
  "caseNumber": "261100386606",
  "court": {
    "courtId": "305",
    "courtName": "Harris County Justice of the Peace Court Precinct 1, Place 1",
    "county": "Harris",
    "state": "TX"
  },
  "docketType": "EVICTION",
  "filingDate": "2026-09-01",
  "disposition": {
    "status": "DEFAULT_JUDGMENT_PLAINTIFF",
    "date": "2026-09-21",
    "rawText": "Default Judgment for Plaintiff"
  },
  "financials": {
    "claimAmountCents": 145000,
    "judgmentAmountCents": 145000,
    "currency": "USD"
  },
  "parties": {
    "defendant": {
      "fullName": "Marentetti, Deborah",
      "firstName": "Deborah",
      "middleName": null,
      "lastName": "Marentetti",
      "addressLine1": "3804 Brandt St",
      "addressLine2": "Apt 4",
      "city": "Houston",
      "state": "TX",
      "postalCode": "77006"
    },
    "plaintiff": {
      "name": "Littlepage Properties, LLC",
      "address": "1912 W. Main St., Houston, TX 77098"
    }
  },
  "compliance": {
    "isFcraReportable": true,
    "statutoryCutoffDate": "2033-09-21",
    "hasActiveDispute": false
  },
  "provenance": {
    "snapshotSha256": "48a2477ee0868a2f597ea90aefb0997c9afe5d148658e09970a4fb35fcab3c13",
    "lastVerifiedAt": "2026-09-14T10:51:48.342Z",
    "sourceSystem": "HARRIS_TX_JCIS_EXTRACT"
  }
}

Modality B: Real-Time Permissible-Purpose REST API

Operational today: GET /api/v1/screenings/search?name=...&state=TX is live and callable against the current dataset, returning match confidence scores, last-verified timestamps, and statutory reportability codes, with every query logged for FCRA permissible-purpose audit. Query latency has not yet been benchmarked at production data volumes, so no specific figure is claimed here.

07

How Updates and New Records Are Handled

County civil cases are dynamic procedural lifecycles that unfold over multiple weeks. The diagram below illustrates the lifecycle a production change-detection system would need to track; it is a design target, not a feature running today.

ILLUSTRATIVE TARGET — NOT YET BUILT DAY 1 DAY 8 DAY 21 DAY 35 ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │ NEW_FILING │ ──▶ │ CITATION │ ──▶ │ JUDGMENT │ ──▶ │ DISMISSAL / │ │ (Docket Set)│ │ SERVED │ │ ENTERED │ │ SATISFACTION │ └─────────────┘ └─────────────┘ └──────────────┘ └──────────────┘ Action: Ingest Action: Update Action: Update Action: Invalidate Emit: New Record Emit: Hearing Date Emit: Judgment Award Emit: Tombstone

Operational today:

Not yet built — proposed:

08

How the Output Can Be Mapped to a Customer's Own Schema

Chrisian's canonical schema is designed to serve as a normalized Intermediate Representation (IR). The mapping below is illustrative guidance for two representative target shapes, not a built adapter — a real target mapping would be defined against the aggregator's own schema:

Chrisian Canonical Field Enterprise Legal Docket Target (Platform A Standard) Investigative & Risk Platform Target (Platform B Standard) Mapping / Transformation Rule
court.courtName CourtHierarchy.JurisdictionName CourtIdentifier.CourtName Mapped to Standard Court Code: TX-HAR-JP-011
docketType ("EVICTION") CaseType.LitigationTaxonomy CaseClassification.TypeCode Mapped to Standard Civil Taxonomy: LT-PROP-EVICT / LT_EVICT
defendant.firstName Subject.EntityName.First PartyDetails.Defendant[0].First Parsed string; uppercase sanitized
defendant.lastName Subject.EntityName.Last PartyDetails.Defendant[0].Last Primary identity graph entity anchor
defendant.addressLine1 Subject.Address.StreetAddress1 PartyDetails.Defendant[0].Addr1 CASS standardized (e.g. "3804 Brandt St")
defendant.addressLine2 Subject.Address.StreetAddress2 PartyDetails.Defendant[0].Addr2 Unit / Suite normalized (e.g. "Apt 4")
financials.judgmentAmountCents Judgment.AwardAmount Financials.JudgmentAmount Formatted to decimal: cents / 100 (1450.00)
provenance.snapshotSha256 SourceMetadata.RawDocumentHash Provenance.ChecksumSha256 Preserved for evidentiary provenance

Custom Declarative Mappings: For proprietary back-office systems, our pipeline supports declarative JSON Schema / JQ transformation templates to adapt date formats (YYYYMMDD vs ISO 8601), case number formatting, and custom enum dictionaries on demand.

Inspect the Operational POC Live

Explore our live 7-stage telemetry pipeline, 9,600 dockets, 70-column modal inspector, and screening simulator.

Open Live Telemetry Portal →