ungovr.providers.sgit.ai / The comparison matrix
The comparison matrix
Generated at build time from the patterns: block on each provider page. Adding a provider is one markdown file; this table follows. That is the contract's own test of itself.
| Provider | Product | 0 · key in the page | 1 · bounded key in the page | 2 · short-lived token | 3 · host holds the key | Needs a server for the safe pattern |
|---|---|---|---|---|---|---|
| UnGovr | Open Data API — entities, boundaries, laws, CGJ indices | —no credential exists for this surface, so the question dissolves | —the bound is per IP, not per key | —nothing to mint a token for | —nothing for a host to hold | No — there is no credential to hold |
| UnGovr | Open Data API — AI-laws and CGJ report detail (key-gated) | ✓a free, read-only key with a per-key daily cap. The first yes here that is not a warning | ◖no per-key scoping is documented; the daily cap is the only bound | ×no token minter is offered | ◖possible, and unnecessary at this risk level | Yes for pattern 3 — but the key is free and read-only |
| UnGovr | Machine Payments Protocol (the 402 path) | ⚠a wallet credential in a page is spendable by anyone who reads it | ◖a per-request price exists; a per-key spend cap is not documented | ◖the natural shape for this, and not offered today | ◖what we would build before spending a cent from a browser | Yes — a funded wallet must never reach a browser |
✓ available · × unavailable · ⚠ available and never acceptable · ◖ specified here, not shipped · — not applicable
Generated at build time from the patterns: front-matter of every provider page. Adding a provider is one Markdown file; this table follows.
Reading it
Per product, never per vendor. A vendor with three products can support three different patterns, and stating a credential rule at vendor level is how a reader ends up putting a spendable key somewhere a read-only one belonged. UnGovr's three rows are bounded by three different things: an IP budget, a free key's daily cap, and a wallet balance.
na is not no. On UnGovr's open surface the pattern question dissolves rather than being answered negatively — there is no credential for a pattern to be about. That is a different fact from "this provider does not support pattern 2", and the matrix distinguishes them.
This site contributes one row shape the family did not have: a provider where pattern 0 is correct. The argument for admitting it is on the patterns page.