Every figure here is from the official record: Office of the Auditor-General, Controller of Budget, Treasury, Parliament, EACC, Kenya Law, and other public sources. We parse the PDFs and compute the totals; we do not invent the numbers.

Methodology and sources

Where every figure on Kiongozi comes from

Kiongozi is a reading-room over public records. We collect official PDFs and structured data, parse them, dedupe, and compute totals. We do not produce primary research. Every number on the site links back to a public document on a government or independent civic-tech source.

Home

Current dataset, June 2026

These are the live totals on the homepage and national page.

  • OAG flagged KES 849.5B across 512 audit findings (deduped, source-linked) From parsing 4,413 OAG PDFs across 19 categories.
  • Case amounts KES 200.4B across 93 EACC investigations / court petitions / Senate-PAC reports Amounts ALLEGED. Some convicted; most pending or contested.
  • Grand total KES 1.05T documented public-money exposure over 9 fiscal years FY 2016/17 to FY 2024/25. Used to compute the per-period averages on the rate-of-loss card.

Primary government sources

Every official agency whose PDFs or APIs feed the site.

Independent civic-tech and press

Reputable independent sources used for cross-reference.

Method

  • Step 1 Collect official PDFs A recursive BFS crawl of the OAG sub-sections produced data/oag_reports_index.json with 4,413 PDF URLs across 19 categories. Other agencies provide direct PDF URLs that we catalogue.
  • Step 2 Parse PDFs page by page PyMuPDF text extraction. Numbered finding sections detected by lexicon (Inaccuracies, Outstanding Imprest, Pending Bills, Unsupported, Irregular, Wasteful, Stalled Projects, etc.). The largest stated KES within a 500-char window of each heading is captured, with the source page number and a verbatim snippet.
  • Step 3 Filter and dedupe For the wastage total: KES floor 50M (excludes bookkeeping issues); heading or snippet must contain a wastage-signal phrase; skip when the KES is preceded by "total payments of". Two-layer dedupe: same PDF + same KES + same category, and same KES + same title across multiple annual reports (carry-over balances).
  • Step 4 Compute totals and rates Grand totals and per-period averages (per year, month, week, day, hour, minute, second) are arithmetic across 9 fiscal years. Real waste is event-driven and uneven; the per-period figures are illustrative averages.
  • Step 5 Verify and link Top-N PDF verification: re-open the source PDF and confirm the KES appears on the cited page. URL health check: random sample tested against the live source domain. Every UI row links back to the source PDF anchored to the page number where the auditor's text appears.

What we do not do

  • No editorial We do not call any audit finding a crime OAG findings are flagged spending or compliance gaps. Many remain unresolved or contested. The site labels them as audit findings, not theft or fraud.
  • No advocacy We do not advocate for or against any party, candidate, or policy If a sitting CS appears in the cabinet scandals file, so does an opposition figure who held an equivalent office. Treatment is symmetric.
  • No invention We do not invent numbers Every KES on the site appears verbatim in a public PDF that the site links to. Where we compute (totals, averages, per-period rates), the inputs are public and the arithmetic is explicit.

Corrections and contact

If something looks wrong, missing, or unfairly framed, raise an issue on the public repository linked from the site footer. Corrections are welcome.