Certvas

LICENSE REGISTER (gate: no source is ingested without a row here)

Status: ✅ cleared for commercial redistribution of derived products · ⚠️ conditional (respect stated conditions) · ⛔ prohibited (do not ingest for products)

DEFERRED sources: a ⚠️ row whose Conditions cell begins DO-NOT-INGEST is registered and founder-approved but NOT cleared for commercial redistribution — license verification found a restriction (or no positive commercial-reuse permission). The row stays for provenance + founder revisit, but the live ingest gate pipelines.common.registry.assert_ingestible() refuses it (SourceDeferredError). Evidence + revisit path filed in docs/licenses/<ID>/.
ID Source Category License / basis Conditions Access Status
S001 GLEIF LEI Golden Copy (L1+L2) Entity spine CC0 None Daily bulk files Cleared
S002 OpenFIGI Identifiers Free API terms Attribution good practice; respect rate limits API Cleared
S003 SEC EDGAR (submissions, companyfacts, filings) Filings/fundamentals US Gov public domain Fair access: declared User-Agent, ≤10 req/s Bulk ZIP + REST Cleared
S004 OpenCorporates↔LEI mapping file Entity spine Open relationship file Attribution Bulk CSV Cleared
S005 World Bank WDI / Open Data Macro CC BY 4.0 Attribution required in product docs API + bulk Cleared
S006 IMF statistical series (IFS/BOP/DOT/GFS) Macro IMF Copyright and Usage terms, effective 2024-10-11 (re-read 2026-09-24, evidence docs/licenses/S033/): the "Data" permission list no longer includes "sell", and the page directs any potential commercial reuse of IMF Data to [email protected]. DEFERRED 2026-09-24 (founder decision): no commercial ingestion until the IMF grants written permission; see S033. Nothing served derives from it. API/bulk Deferred
S007 South Africa OCPO Transparency Portal (eTenders) Tenders Explicit open license incl. commercial use Attribution; OCDS format OCDS JSON API Cleared
S008 Other OCDS publishers (via OCP registry: Rwanda Umucyo, Nigeria NOCOPO, Kaduna, Kenya PPIP, etc.) Tenders Per-publisher Verify each publisher's license BEFORE ingestion; add its own row API Cleared
S009 African issuer annual reports / IR pages (company-published PDFs) Fundamentals Facts extracted from public disclosures Extract facts only; no document republication; respect robots/ToS per site; keep source PDF ref in raw for provenance Fetch + LLM extraction Cleared — facts only
S012 Manually-curated public issuer identities (non-LEI) Entity spine Public fact (name + jurisdiction + exchange ticker from public exchange listings) Identity facts only — no natural persons; each seed row cites its public listing; used only to give a non-LEI issuer a dataco_id so its S009 filings can be extracted Manual seed CSV/model Cleared
S010 Companies House UK bulk Entity spine (global) Open Government Licence Attribution Bulk Cleared
S011 FRED Macro (global, later) FRED Terms of Use + API terms (re-read 2026-09-24, evidence docs/licenses/S011/): FRED content may not be incorporated in another database or sold without the St. Louis Fed's prior written permission; commercial use is internal only, and third-party series need their owner's written permission. DO-NOT-INGEST 2026-09-24 (founder decision): FRED is not a redistribution source. A public-domain series FRED relays (e.g. BLS, Federal Reserve Board, US Treasury) may be sourced only from its ORIGINAL publisher, under that publisher's own register row. Nothing served derives from it. API Do not ingest
S013 World Bank Open Data Macro CC BY 4.0 (open data, incl. commercial use) Attribution to World Bank; indicator values only (public statistics, no natural persons) REST API (no key) Cleared
S014 ECB euro FX reference rates (via Frankfurter API) Macro (FX, daily) ECB reuse policy: reference rates may be reused free of charge with acknowledgement (see docs/licenses/S014/) Attribute the ECB; reference rates are indicative daily snapshots (~16:00 CET), NOT executable fixings — state this to buyers; no natural persons REST API (no key), Frankfurter serves ECB data Cleared
S015 SARB (South African Reserve Bank) daily FX reference rates Macro (FX, daily) VERIFIED 2026-08-06 (evidence docs/licenses/S015/): SARB website Disclaimer reserves all IP rights — no copying/reproduction/distribution without prior written consent; SARB publishes no open-data/commercial-reuse licence. NOT cleared for commercial redistribution. DO-NOT-INGEST — DEFERRED 2026-08-06: not cleared for commercial reuse (SARB requires prior written consent). FX.ZAR.USD is already served licence-clean via cleared ECB S014, so no FX coverage lost. Revisit only with written SARB commercial permission. No natural persons. Web-query CSV / API Do not ingest
S016 CBN (Central Bank of Nigeria) daily FX rates Macro (FX, daily) VERIFIED 2026-08-06 (evidence docs/licenses/S016/): CBN website Terms of Use permit downloading one copy for personal, non-commercial use only; commercial use expressly prohibited. NOT cleared for commercial redistribution. DO-NOT-INGEST — DEFERRED 2026-08-06: CBN terms are personal/non-commercial only. No commercial-OK free NGN/USD source for v1 (ECB set has no NGN). Revisit if CBN grants commercial permission. No natural persons. HTML table / CSV Do not ingest
S017 CBK (Central Bank of Kenya) daily indicative FX rates Macro (FX, daily) VERIFIED 2026-08-06 (evidence docs/licenses/S017/): centralbank.go.ke publishes no open-data/commercial-reuse licence; site materials copyright-protected and Kenya legislative content is CC BY-NC-SA (non-commercial). No positive commercial-reuse permission found. DO-NOT-INGEST — DEFERRED 2026-08-06: no evidence of commercial-reuse permission (ambiguous/absent → not cleared per register discipline). Revisit if CBK publishes a commercial-OK data licence. No natural persons. HTML / CSV Do not ingest
S020 Stats SA — P0141 Consumer Price Index Macro (CPI, monthly) VERIFIED 2026-08-06 — HARD GATE FAILED (evidence docs/licenses/S020/): Stats SA copyright — "Neither the basic data nor any reprocessed version or application thereof may be sold or offered for sale in any form whatsoever without prior permission from Stats SA." NOT cleared for commercial redistribution. DO-NOT-INGEST — DEFERRED 2026-08-06 (founder hard gate FAILED): Stats SA prohibits sale of data or derived products without prior permission; Certvas sells derived products. No CC-BY monthly-CPI-with-vintages alternative for ZAF (World Bank CPI is annual). Revisit only with written Stats SA commercial permission. No natural persons. Release PDF / XLSX Do not ingest
S025 SARB MPC — repo rate + decision dates Macro (policy rate) VERIFIED 2026-08-06 (evidence docs/licenses/S025/): same SARB website Disclaimer as S015 — all IP rights reserved, prior written consent required, no open-data/commercial-reuse licence. NOT cleared for commercial redistribution. DO-NOT-INGEST — DEFERRED 2026-08-06: not cleared for commercial reuse (SARB prior written consent). Candidate future clean route: BIS policy-rate dataset (needs its own clearance). Revisit with written SARB permission. No natural persons. MPC statement pages Do not ingest
S030 BIS central bank policy rates (CBPOL) Macro (policy rate) VERIFIED 2026-08-08 (evidence docs/licenses/S030/): BIS "Terms of permitted use of BIS statistics" permit commercial use only if inclusion results in no additional charge to subscribers/other users; BIS owns copyright, "No other use is permissible." Not a positive grant for a paid derived-data product. DO-NOT-INGEST — DEFERRED 2026-08-08: no-additional-charge clause conflicts with selling derived data (ambiguous → not cleared). Covers ZAF only of targets; GEM S032 is a cleaner rate route. Revisit with written BIS permission. No natural persons. SDMX API / bulk Do not ingest
S031 Kenya CPI via open-data-portal route (KODI opendata.go.ke / Knoema kenya.opendataforafrica.org) Macro (CPI, monthly) VERIFIED 2026-08-08 (evidence docs/licenses/S031/): gov portal opendata.go.ke offline (ECONNREFUSED); Knoema aggregator ToU proprietary/limited/revocable (not CC-BY); KNBS main site non-commercial. No working commercial-OK open licence found. DO-NOT-INGEST — DEFERRED 2026-08-08: no verified working CC-BY route. Route Kenya CPI via S032 (GEM) or S033/S006 (IMF) instead. Revisit if opendata.go.ke returns with explicit CC-BY + access. No natural persons. (portal offline / aggregator) Do not ingest
S032 World Bank Global Economic Monitor (GEM) Macro (CPI monthly; FX + interest rates high-frequency) VERIFIED 2026-08-08 (evidence docs/licenses/S032/): CC BY 4.0 — World Bank data-licensing page permits copy/modify/distribute "for any purpose, including commercial use" with attribution; same basis as cleared S005/S013. Attribute "The World Bank, Global Economic Monitor (GEM), CC BY 4.0" + indicate transformation; series are as-published levels (NOT a vintage/revision archive — Certvas point-in-time vintages accrue from ingest forward); quarterly re-verify third-party carve-out; no natural persons. REST API + DataBank (no key) Cleared
S033 IMF statistical Data (IFS: monthly CPI / FX / policy & monetary rates) Macro (CPI/FX/rates, monthly) RE-VERIFIED 2026-09-24 (evidence docs/licenses/S033/): the live IMF Copyright and Usage page, effective 2024-10-11, permits download/copy/derivative works/publish/distribute of Data with attribution, but no longer lists "sell" and directs "any potential commercial reuse of IMF Data" to [email protected]. It also requires reasonable efforts to bind downstream users, and bars automated bulk download without explicit permission. The 2026-08-08 verification relied on archived 2015 wording (the live page was blocked then) and is superseded. DEFERRED 2026-09-24 (founder decision) — pending written permission from [email protected] (request SENT 2026-09-24, awaiting reply). If granted, the earlier conditions still apply: attribution with a dataset link, "available free of charge from the IMF" notice, disclose transformation, per-series third-party carve-out (exclude IFS observations relayed from national authorities), no natural persons. Nothing served derives from it. SDMX / REST API Deferred
S034 Nigeria NOCOPO federal OCDS (BPP) Tenders ODC-PDDL — publisher's own licence page names PDDL with Share/Create/Adapt grants (VERIFIED 2026-08-08, evidence docs/licenses/S034/); site Terms-page boilerplate conflict recorded in evidence — /license is the data-directed instrument Attribution to BPP good practice; date-sanity + ocid-dedupe guardrails REQUIRED before first run (award dates 1949–2919, 93 bad ocid prefixes, batch release-dates); federal completeness caveat in SKU docs; PDF /license at first ingest; changedetection watch on /license; no natural persons OCP registry bulk mirror (.jsonl.gz, monthly) / portal export Cleared
S035 Ekiti State (Nigeria) OCDS Tenders ODC-PDDL v1.0 — named + linked on portal homepage, concordant with OCP registry (VERIFIED 2026-08-08, evidence docs/licenses/S035/) FROZEN-SCOPE: historical Sep 2021–Jul 2023 only (publication stalled); one-time load from registry mirror; changedetection watch for revival/portal disappearance (non-gov azurewebsites host); stale-data disclosure in SKU docs; no natural persons OCP registry bulk mirror Cleared
S036 Uganda GPP (PPDA) OCDS Tenders Registry-stated ODC-By (commercial-OK) but UNVERIFIABLE at source — portal unreachable, API 410, publication stalled since Jan 2025 (VERIFIED 2026-08-08, evidence docs/licenses/S036/) DO-NOT-INGEST — DEFERRED 2026-08-08: positive grant not verifiable at source (registry attribution is second-hand). Revisit: verify ODC-By on gpp.ppda.go.ug from founder machine OR written PPDA confirmation (letter drafted), AND publication resumed. No natural persons. (API 410 / registry mirror) Do not ingest
S037 Kenya PPIP (PPRA) OCDS Tenders NO licence anywhere — registry field "-", no portal terms, PPRA site "All Rights Reserved" (VERIFIED 2026-08-08, evidence docs/licenses/S037/) DO-NOT-INGEST — DEFERRED 2026-08-08, RE-VERIFIED 2026-09-01 (unchanged: package license absent, publicationPolicy null, PPRA still "All Rights Reserved", registry licence field now absent entirely). Absence = not cleared. Active daily API, 259,132 releases — TOP revisit target; PPRA REPLIED 2026-09-02 asking for clarification on the data, the derived products and the distribution; answered the same day. IN ACTIVE CORRESPONDENCE — do NOT phone, post or file under the ATI Act; that escalation advice is superseded. Awaiting PPRA on terms. Officer name and address are deliberately NOT recorded here: this row is published verbatim at certvas.com/license-register, and a civil servant's work address is not ours to publish. See docs/licenses/S037/ppra-replied-2026-09-02.md. Needs a two-step transport, not just a flag. No natural persons. OCDS JSON API (live) Do not ingest
S038 Rwanda Umucyo (RPPA) OCDS Tenders CC BY-NC-SA 4.0 per OCP registry — NonCommercial affirmatively prohibits commercial use; ShareAlike contaminates derivatives (VERIFIED 2026-08-08, evidence docs/licenses/S038/) DO-NOT-INGEST — DEFERRED 2026-08-08: licence affirmatively non-commercial (worse than silence). Revisit ONLY on written RPPA commercial permission or documented licence change via regulatory watch. No natural persons. OpenData portal + registry bulk (irrelevant) Do not ingest
S039 Ghana GHANEPS (PPA) OCDS Tenders UNVERIFIABLE — registry licence link (ppaghana.org/ocds-license) TLS-dead, successor ppa.gov.gh/ocds-license 404, no Wayback snapshot; no terms on GHANEPS portal (VERIFIED 2026-08-08, evidence docs/licenses/S039/) DO-NOT-INGEST — DEFERRED 2026-08-08, RE-VERIFIED 2026-09-01: licence pointers still dead (ppaghana.org 000, ppa.gov.gh/ocds-license 404), registry licence field now absent, and the successor site asserts "All rights reserved." Coverage sparse (7,058 releases). Permission letter drafted 2026-09-01 (§6), queued behind Kenya. No natural persons. OCDS record packages (JS) Do not ingest
S040 Edo State (Nigeria) OCDS Tenders PDDL claim is registry-secondhand only — granting portal DNS-dead (edpms), publication frozen Dec 2021; live successor portal has NO licence and dead licence link (VERIFIED 2026-08-08, evidence docs/licenses/S040/) DO-NOT-INGEST — DEFERRED 2026-08-08: no grant verifiable at publisher. Founder OPTION on file: frozen-scope ingest of 2018–2021 registry mirror (weak provenance, poor structure). Revisit if successor publishes a licence. No natural persons. (successor portal, unlicensed, no bulk) Do not ingest
S041 Ebonyi State (Nigeria) OCDS Tenders Registry claims PDDL but NO licence statement anywhere on portal; ToS silent on data reuse; all tested bulk JSON 404 (VERIFIED 2026-08-08, evidence docs/licenses/S041/) DO-NOT-INGEST — DEFERRED 2026-08-08: grant unverifiable at publisher + pipeline broken. Revisit when downloads restored and a licence is inspectable on-portal (changedetection watch). No natural persons. (bulk JSON all 404) Do not ingest
S043 Zambia ZPPA e-GP OCDS Tenders ODC-PDDL — publisher's OWN licence page (zppa.org.zm/ocds-license) names the ODC Public Domain Dedication and Licence with Share/Adapt grants — strongest possible grant, commercial reuse unrestricted (VERIFIED 2026-08-09, evidence docs/licenses/S043/). OCP registry lists CC BY 4.0 (discrepancy recorded; both permit commercial reuse — the publisher's data-directed /ocds-license controls). Same instrument as Nigeria S034. Attribution to ZPPA good practice (CC-BY 4.0 conservative fallback → encode attribution regardless); OCDS date-sanity + ocid-dedupe guardrails per S034 before first run; no natural persons OCDS API Cleared
S090 JSE / BSE / NSE / NGX / EGX raw market or EOD price feeds Prices Proprietary exchange data Redistribution requires paid license — Blocked
S091 CIPC South Africa bulk registry Registry Automated access itself is prohibited — ToS §3(1)(c) bars using any technology to search or gain information from the site without CIPC's prior WRITTEN PERMISSION; §4(3) bars reproduction/distribution; §4(5) confines commercial use to a single named client (VERIFIED 2026-08-29, evidence docs/licenses/S091/) Stricter than the earlier "restricts bulk resale" note: the bar is on FETCHING, not just reselling. Unblocking needs THREE things, not a ToS change — written permission (§3(1)(c) is a permission clause, draft in docs/licenses/permission-requests.md), a separate resolution of the §4(5) commercial confinement because permission to fetch is not permission to republish, and the S092 field guardrail, since a company register holds director and shareholder names. — Blocked
S092 Any source containing natural-person data (directors, shareholders, contacts) — Hard rule #1 Fields dropped at ingestion if encountered incidentally — Blocked
S042 Paraguay DNCP OCDS Tenders CC BY 4.0 — named on the publisher's own open-data portal footer; commercial reuse permitted (VERIFIED 2026-08-09, evidence docs/licenses/S042/) Licence VERIFIED and clean. NOT INGESTED: founder approval outstanding — this is the only thing between it and CLEARED. Attribute DNCP. OCDS API + bulk Deferred
S044 UK Contracts Finder (Cabinet Office / CCS) OCDS Tenders Open Government Licence v3.0 — explicitly permits commercial exploitation (VERIFIED 2026-08-09 on gov.uk, evidence docs/licenses/S044/) Licence VERIFIED and clean. NOT INGESTED: founder approval outstanding. OGL attribution required. OCDS API, real-time Deferred
S045 Colombia SECOP (Colombia Compra Eficiente) OCDS Tenders CC BY-SA 4.0 — ShareAlike (VERIFIED 2026-08-09, evidence docs/licenses/S045/) Copyleft would force a proprietary derived product to be relicensed CC BY-SA. Incompatible with the product, not with the law. OCDS API Do not ingest
S046 Moldova MTender (Ministry of Finance) OCDS Tenders No named grant — registry field is a generic Open-Definition pointer, unconfirmable at source (2026-08-09, evidence docs/licenses/S046/) Unverifiable-at-source, same failure as S036 Uganda. OCDS API Do not ingest
S047 Dominican Republic DGCP OCDS Tenders Registry names ODbL (database ShareAlike); not confirmable on the publisher's portal (2026-08-09, evidence docs/licenses/S047/) Unverifiable-at-source; ODbL share-alike would also bind derived databases. OCDS API Do not ingest
S048 Tanzania PPRA / NeST Open Contracting Portal OCDS Tenders Hard gate failed — no commercial-reuse grant established (2026-08-10, evidence docs/licenses/S048/) Assessed and refused. Row kept so the decision stays visible. OCDS portal Do not ingest
S049 Liberia PPCC e-Procurement OCDS Tenders Licence unverifiable at source (2026-08-10, evidence docs/licenses/S049/) No licence text locatable on the publisher's own portal. OCDS portal Do not ingest
S050 Sierra Leone NPPA e-GP OCDS Tenders Unverifiable at source — portal unreachable (2026-08-10, evidence docs/licenses/S050/) Re-verify if the portal returns. See also the round-2 cleansource note: NOT clean. OCDS portal Do not ingest
S051 Kaduna State (Nigeria) KADPPA / Budeshi OCDS Tenders No licence at source (2026-08-10, evidence docs/licenses/S051/) Registry entry exists; the publisher states no terms. OCDS portal Do not ingest
S052 Makueni County (Kenya) Open Contracting Portal OCDS Tenders Non-commercial + ShareAlike (2026-08-10, evidence docs/licenses/S052/) Non-commercial clause is decisive — Certvas sells derived products. OCDS portal Do not ingest
S053 Nigeria state e-Procurement PHP portals (Osun/Anambra/Abia/Enugu/Cross River) Tenders Registry PDDL claim CONTRADICTED at source (2026-08-10, evidence docs/licenses/S053/) Registry and publisher disagree; the publisher governs. State portals Do not ingest
S054 Plateau State (Nigeria) BPP OCDS Tenders No licence — registry field '-' (2026-08-10, evidence docs/licenses/S054/) Same shape as S037 Kenya PPRA: absence of a grant is not a grant. OCDS portal Do not ingest

ID numbering

S-numbers are allocated in the order sources are assessed, and an assessment that ends in a

refusal keeps its number. The sequence therefore has gaps, and every gap is deliberate:

gap why
S017 → S020 S018/S019 were allocated during central-bank FX research and merged into neighbouring rows before either was written up. No source was dropped.
S020 → S025 S021–S024 were CPI/statistics candidates folded into S020 (Stats SA) and S031 (Kenya CPI) rather than registered separately.
S025 → S030 S026–S029 were policy-rate candidates superseded by S030 (BIS CBPOL), which covers the same series for many central banks at once.
S054 → S090 A deliberate block boundary, not a gap. S090+ is reserved for sources that are BLOCKED as a matter of policy rather than licence — exchange price feeds (hard rule 2) and anything whose terms prohibit our use. Keeping them numerically separate means a reader scanning for "what may we never touch" does not have to read the whole table.

Why the refusals keep their numbers. A refused source is a decision, and re-using its number

would erase it. Ten of the rows here (S045–S054) are refusals with full evidence folders, and their

value is that the next person to consider Tanzania or Colombia does not repeat the work.

Why an ID is never re-used. license_class is stamped onto every served record, so an S-number

that meant one source in August and another in December would silently relabel data already

delivered to a customer.

Register protocol

  1. 1. New source proposed → add row with evidence link to the license/ToS text saved to docs/licenses/{ID}/.
  2. 2. ⚠️ sources: conditions must be encoded as pipeline guardrails (rate limits, attribution strings, field drops) before first run.
  3. 3. Quarterly re-verification task: confirm each ✅/⚠️ source's terms unchanged; log check date.
  4. 4. Every gold record carries license_class = the source row ID, so any source can be surgically removed from products if terms change.

This page is generated from the register that gates the pipeline itself — it is not a summary written for the website. Every published value carries a license_class naming a row below, so any source can be traced, or removed, per record.