← All challenges
Adverse Media
Adverse media analysis cross-checks publicly funded organizations against court, regulatory, and reputational signals. The vendor / recipient watchlist side is production-ready in Alberta; the adverse-signal side is not yet ingested as data on either jurisdiction.
- What this page shows now
- Nothing live on this page yet. The Alberta vendor / recipient / organization tables and the entity-resolution layer (spec 043) are ready to receive matches once the adverse-signal corpus is ingested.
- What is missing to prove more
- Structured bulk for CanLII court decisions, AER / AUC / ASC enforcement orders, Law Society discipline rolls, and the federal Competition Bureau and Commissioner of Lobbying records. News and social-media feeds and a stable cross-source entity identifier remain further out.
- Why it matters
- Reputational and regulatory signals are scattered across HTML/PDF silos with no shared entity ID. Even partial coverage produces useful procurement-due-diligence leads — but the full picture stays manual until those sources are published as bulk data.
I
The Alberta record
What Alberta’s open data already shows, and what we’d need to prove more
What the open record already shows
- · Canonical vendor/recipient/organization tables with normalized names — the entity watchlist is production-ready.
- · Entity-resolution (spec 043) reusable for matching news mentions back to vendors.
- · Review-queue pattern fits well for human-verified media flags.
What we’d need to prove more
- · Every external layer is new: court records (CanLII), regulatory orders (AER/AUC/ASC), news feeds (GDELT/Google News), federal lists.
II
Datasets we’d need (full inventory)
17 datasets that bear on this chapter — name, jurisdiction, and what's currently public
| Dataset | Jurisdiction | Publicly available? | Notes |
|---|---|---|---|
| Vendor / recipient entity tables | AB | Published | via ab_spending |
| AER enforcement decisions | AB | Partial | PDF per decision |
| AUC (Alberta Utilities Commission) | AB | Partial | PDF per decision |
| Alberta Securities Commission | AB | Partial | HTML + PDF |
| Law Society of Alberta discipline rolls | AB | Partial | HTML only |
| Alberta Courts daily lists | AB | Partial | HTML, limited history |
| CanLII (federal + AB courts) | Cross | Published | Free licence, API |
| Competition Bureau consent agreements | Fed | Partial | HTML only |
| Commissioner of Lobbying compliance decisions | Fed | Partial | HTML only |
| Ethics Commissioner inquiry reports | Fed | Partial | HTML/PDF |
| PSPC Ineligible Suppliers list | Fed | Partial | HTML only, no history |
| CRA revoked charities | Fed | Published | CSV (in T3010 list) |
| OSFI / CRTC enforcement bulletins | Fed | Partial | HTML per regulator |
| GDELT global news event stream | Global | Published | Free API |
| Google News RSS entity alerts | Global | Published | Free feed |
| Canadian news archives (CP, Postmedia, CBC) | Canada | Partial | Licensed/paywalled |
| Integrated risk register / watchlist | Fed/AB | Not published | Not published |
III
What open data still can’t answer
1 dataset or linkage this chapter still needs to close the question — most are blocked at the source, not the analysis.
- Every external layer is new: court records (CanLII), regulatory orders (AER/AUC/ASC), news feeds (GDELT/Google News), federal lists.
See chapter 11 · the data-gaps matrix for the full inventory.