Investigative trails protocol (accountability profiles)
Purpose: Standard public-records channels editors can use to extend knowledgebase/accountability/*-profile.md files with non-PII research pointers. This is not legal advice.
When to add a profile section
Add Investigative trail pointers when the subject has documented corporate, campaign, litigation, or regulatory footprints already discussed in the profile body. Skip for purely media figures unless filings exist.
Standard table (copy into profile)
---
## Investigative trail pointers (public records)
*Education only — verify independently. Absence of hits is not proof.*
| Channel | Starting points |
|---------|-----------------|
| **Federal courts** | CourtListener / PACER party and attorney searches (spelling variants) |
| **Campaign finance** | FEC + OpenSecrets for committees and donors tied to documented roles |
| **Corporate / LLC** | State secretary of state; OpenCorporates for cross-border shells from reporting |
| **Sanctions / PEP** | OpenSanctions when international business context is already sourced |
| **Contracts / grants** | USAspending.gov for named entities from investigations |
Use **`public-records-research-specialist`**, **`corporate-intelligence-investigator`**, and **`public-corruption-ombudsman`** evidence tiers.
Bulk rollout
The canonical bulk-rollout mechanism is the injection script:
# Preview changes (no writes)
python scripts/inject_profile_trails.py --dry-run
# Apply changes to all eligible profiles
python scripts/inject_profile_trails.py --apply
Or via the Makefile:
make inject-trails # dry-run
make inject-trails-apply # apply
The script is idempotent — profiles that already have the block are skipped. Profiles with Category: Media and no corporate/litigation keywords are also skipped per the eligibility rule above.
- Do not paste live docket numbers or SSNs into Patriot KB.
- Link skills by slug, not external paywalled PI databases.
Phase 3 status
Trail blocks have been injected into 318 of 345 profiles (6 pilot + 312 scripted). 25 media-only profiles were skipped by design; 2 profiles lack a ## Sources anchor and need manual review.
