Layer zero, in both senses.
Underneath everything, and disclosing nothing. Tacit decides the question Dutch letting law actually asks, seals the answer at the source, and hands it to the renter to carry in their own wallet. What sits above it stops rebuilding that logic; what sits below it is already the state's.
Where it sits
The market does not lack attestations — the tax authority already puts income into wallets and identity is solved. What it lacks is the layer that turns those into a verdict: qualified for this home, under this regime, signed and portable.
A layer that everything runs on does not compete with what runs on it. That the same layer discloses nothing is not a second feature; it is the reason a competitor can rely on it.
Every portal decides eligibility today — privately, unsigned, and again from scratch for each application. So does every CRM. A portal that consumes verdicts stops rebuilding that logic and starts publishing a requirement the wallet answers; the answer it gets back is one it can prove it was given.
The law, executable
Ninety-two rules across fourteen policies. Every rule cites the law or market convention it comes from; the column is mandatory, and none of the 92 is empty. Twenty-one governed values are statutory — each carrying its source, its publication date and the quoted text it was read from — and six more are market convention. The software knows which is which, because a statutory value and a convention do not change for the same reasons.
Which regimes it decides
Stated per regime, because "every segment" would not be true. Eligibility for the free market, for mid-market private lettings and for mid-market corporation stock is decided end to end and opens the catalogue's entry gate, alongside a short-stay pathway. Social housing is governed by its own rules but publishes no income requirement, and that is correct rather than missing: allocation there runs on a statutory household-income ceiling set in law, which is not expressible as a multiple of the rent.
Nineteen yes-or-no answers. No figure exists to leak.
The credential holds predicates, not values — meets the requirement at this rent, never earns this much. Nineteen are disclosable, and the renter chooses which to present, one letting at a time. Two more are provenance claims that can never be hidden: which jurisdiction decided, and which version of the rulebook. An answer without those cannot be judged.
Matching exchanges booleans and nothing else. The income a verdict rests on stays committed inside the credential and never leaves the wallet — and because the commitment is already sealed into every credential issued, a zero-knowledge range proof can be added as a layer without re-issuing a single one.
How to take it
- Ask for a verdictYour system sends what it holds and receives a governed answer with its reasons. Nothing else in your stack changes.
- Issue to the walletThe verdict is issued over OpenID4VCI into the renter's wallet, so it keeps working after they leave your funnel.
- Verify what others issuedAccept credentials renters already carry — from Tacit, or from any issuer you decide to trust.
What a consumer implements for the first path: an authenticated call to open a session, a call to submit what they already hold, and a call to retrieve the sealed result. An OpenAPI document describes the surface; the wallet and verification paths are further, and are the reason the second and third rows exist.
Metered per verdict requested, not per seat — a consumer pays for answers, not for the number of people who might ask.
Beyond renting
The method is not rental-only. A governed rule corpus with cited sources, sealed verdicts and wallet-held predicates generalises to purchase without changing the engine. What gates it there is access to mortgage providers — the counterparty whose assessment a purchase verdict would have to reflect — rather than anything in the decision model. That is a roadmap item with a named dependency, not a capability claimed today.