How it works
From headline to holding, four times a day.
AURA is an automated newsroom: it reads Nigeria’s business and regulatory press, pulls out who owns and controls what, and publishes it as a register anyone can search. No one types the records in. That is the point, and also the caveat.
The pipeline
- 01
Collect
Google News RSS and four news APIs, searched for Nigerian companies, agencies and owners, four times a day.
181 publishers - 02
Screen
A topic guard drops sport, celebrity and off-topic stories before any model is paid to read them.
9,710 screened - 03
Read
A language model cascade (Ollama Cloud, then NVIDIA NIM) extracts people, companies, stakes, contracts and a risk score.
LLM cascade - 04
Resolve
Names are normalised and merged, repeat reports grouped into holdings, CAMA 2020 bands and patterns computed.
7 holdings - 05
Publish
The register, the brief and this site are rebuilt from the exports and deployed to the edge.
180 editions
The record so far
- 367
- pipeline runs since 17 Jul 2026
- 9,710
- articles screened
- 4,179
- stories analysed and published
- 181
- publishers seen
- 7
- ownership holdings mapped
- 180
- brief editions archived
Measured, not assumed
Every stored field is model output, so the archive cannot grade itself. AURA samples the articles it reads into an evaluation corpus, and a person labels what the correct extraction should have been. Only human-verified labels can reach the optimiser (DSPy with GEPA).
- 277
- article inputs captured for evaluation
- 16
- hand-verified gold extractions
- 42
- backend test modules, plus the site’s own unit tests
The validation gate
Extraction is the easy half. Before anything reaches this site, the register passes a set of
checks in register_quality.py; every page reads only what passed, and a build
test fails if a withheld record renders anywhere.
- 25
- ownership claims extracted
- 17
- passed and published
- 8
- withheld (7 with no source, 1 implausible)
- One name, one key“Alhaji Aliko Dangote” and “Aliko Dangote”, “Dangote Refinery” and “Dangote Petroleum Refinery”: honorifics, initials and company suffixes are folded so one holder is one card.
- Stake, control or roleA chairmanship is not a shareholding. Each claim is typed, and board roles are shown as roles, never on the stake bar.
- No source, not publishedA claim with no article behind it is withheld from every page, not labelled and shown. Only the count is published.
- Implausible, held backA sports or entertainment figure recorded as a company holder, or a stake outside 0–100%, is quarantined for review.
- Same award, one rowOne contract reported by several outlets, under different spellings, is kept once.
- Headlines checked against sourcesA brief headline naming someone its source article never mentions is replaced by that article’s own title.
What “worth checking” means
Nigeria requires disclosure of significant control from 5% (CAMA 2020 s.868 and the CAC PSC Regulations 2022), not the 25% used in the UK. The patterns below come from the FATF and Egmont concealment typologies, limited to what the reporting lets AURA compute.
- Several holders just under 5%Two or more holders in one company sitting between 3.5% and 5%, just under Nigeria’s disclosure line.
- Voting rights exceed equityReported voting rights at least 20 points above the economic stake.
- Held through an offshore vehicleControl reported through an entity linked to a secrecy jurisdiction such as Mauritius, Jersey or the BVI.
- Nominee or trust arrangementA nominee, trustee or custodian reported in the chain of control.
- Politically exposed personThe holder is recorded as politically exposed.
- Recent change of controlControl reported to have moved from a named previous holder.
- Holdings in several companiesThe same holder reported in two or more tracked companies.
- Interest not quantifiedNo stake and no nature of control in any report.
What AURA can’t tell you
It is not the CAC register
Every record is extracted by a language model from news reporting. None carries a CAC filing unless the reporting cited one.
A pattern is not wrongdoing
Offshore vehicles and nominee holders are legal. A pattern is a reason to look closer, nothing more.
Names collide
Different people and companies can share a name. Check the source articles before relying on a record.
Models make mistakes
Stakes can be misread, roles confused, stories mis-scored. The evaluation set exists to measure and reduce that.
Spotted an error?
Corrections are welcome and handled in the open. Say which record is wrong and link the source.