Tenon

The layer above the listings that no listing site has.

The market does not lack attestations. The tax authority already issues income into wallets; identity is solved. What it lacks is the layer that turns those into a verdict — qualified for this home, under this regime, sealed and portable. Every Member State must make a certified wallet available by the end of 2026, and the eligibility checks Dutch letting law already requires will be made against what renters carry.

Three parts, coupled only by published contracts.

Tacit — the issuer

Dutch housing law as decision tables that run: 92 rules across 14 policies, each traceable to the law or market convention it derives from. Only Tacit issues; every verdict is sealed at the source and handed to the renter, who holds it in their own wallet, on Europe's standard rather than ours.

Holds the signing key What Tacit does

Ravel — the orchestrator

The agent's working surface: candidate selection, viewings, disclosures, mandates. Every action is sequenced against the law that governs it and cited where it lands, so how a decision was reached is as auditable as the decision itself.

Holds the attestation key — signs the record, not the verdict What Ravel does

RESOnance — the catalogue

An open catalogue on the RESO standard the industry already speaks. Listings publish without a key; renters match with credentials they hold themselves, and nothing inside a credential is disclosed to make a match.

Holds no key What RESOnance does
Tacit — the issuer holds the signing key Ravel — the orchestrator holds the attestation key RESOnance — the catalogue holds no key attests publishes issues · revokes · seals every answer signs the record, which cannot be amended verifies presentations · publishes listings cannot issue a credential cannot write to the issuer and its own reads of the issuer carry no key either
Tenon — French tenir, to hold. The joint holds by fit, and comes apart again.

Two ways to own this. The asset is the same in both.

The three parts are not sold apart. What differs is ambition, not the asset — and the first path reaches the second later without rebuilding.

Integrate it

Absorb it into what you already run. The parts share no code and couple only through published contracts; the credential rail speaks the standard the wallets speak; the catalogue is adoptable without a key changing hands; and the orchestrator sits on the platform you have rather than replacing it.

Lower risk — your position unchanged

Take the position

Run it as the rail the rest of the market verifies against. It already verifies credentials from an issuer other than itself, the register publishes what nobody else can, and the standards it speaks are the ones the market will have to meet.

The build is behind you — the position is still open
Take the position — the frame is built around it the asset issuer, orchestrator, catalogue Integrate it the platform you already run held by fit, not glue and it comes apart again
The fit is the published contract. Nothing is glued, so nothing is trapped — and the same asset serves either path.

The rail arrives on a published schedule. The asset that rides it takes years to reproduce, and the runway is months. What is scarce here is lead time, and lead time is the one input that cannot be bought back.

Whichever path, this is what you would have to have.

The rule corpus

Ninety-two rules across fourteen policies, each citing the instrument or market convention it derives from, and twenty-one statutory values each carrying its source, its publication date and the text it was read from — all three present on every one. Knowing which rules the statute requires, and what each governed value is, is research. It is the component a well-funded team cannot compress, because the work is reading law rather than writing code.

The credential rail

Standards-native rather than bespoke: the wallet protocols on both sides, two credential formats, and the revocation the standard specifies. Four runs against other people's suites, on their terms — and the second format proven against a credential the European Commission's own reference issuer produced.

The verification apparatus

What makes every claim here checkable by someone who did not write it: the suites, the gates that fail a build when a rule loses its citation, and a public register anyone can re-verify without asking. It cannot be bought separately from the thing it verifies.

The reasoning

Sixty-six decision records, including the turns that were taken and then corrected. A team starting fresh pays for those twice — once to make them, once to find them again.

Run against the standards bodies' own suites, and a register you can check without asking us.

  • OpenID4VPThe catalogue verifying 9 passed · 0 failed
  • OpenID4VCIThe issuer issuing 14 passed · 0 failed
  • EU reference issuerSD-JWT VC and ISO mdoc acquired live, verified
  • RESO CommanderRESO's own tool valid metadata · DD 1.7

Every run, its signed export, the register endpoints and the scope of each count: the evidence.

Someone else can own it, run it, and prove they own it.

The inventory, and the six layers a technical acquirer audits. Four are evidenced today. Two are open, and both are ownership hygiene rather than engineering — named here, and detailed under NDA.

Four codebases, and the commercial surface

Inventory

Issuer, orchestrator, catalogue and the shared contracts repository, with full history and tags — and the market-facing pages, the positioning, the naming and the marks. A buyer who has to write those first is months further from market than one who does not.

The rule corpus and the contracts

Inventory

Decision tables with their source in law, the release mechanism, the interface specifications and the models.

The record and the names

Inventory

Decision records, operating and privacy documentation, the dated audit trail, and the identity of each part.

Chain of title

Evidenced

Sole authorship. No contractors, no assignments to chase, no prior employer with a claim — one signature conveys the whole of it.

Provenance

Disclosed

One author working with an AI assistant under human direction, stated rather than left to be found. The co-authorship trailer is on roughly nine commits in ten, so it is a strong indicator and not a complete census, and it is written down that way.

Licences

Evidenced

A seller-run audit over reproducible inventories: no component obliges disclosure of proprietary source. One vendored viewer carries a visible-attribution condition, which the software honours. The container layer and the browser libraries await their own inventory.

Data rights

Evidenced

A written processing record, a retention schedule that is enforced, and an erasure that survives a restore.

Continuity

Open

The runbooks, the migrations and a seed that rebuilds the estate through the software's own write paths all exist. What has not happened is a second person doing it. That is a rehearsal, not a build.

Access

Open

Repositories, domains and hosting are personally held. Moving them is administrative rather than technical, and it is prepared with the transfer.

0.9.0 — three of ten criteria met

0.9.0 closes development. 1.0.0 is reserved for ten stated exit criteria, three of which are met and dated. A version that moves without a criterion moving is a version nobody can read.

A joint you can take apart is a stronger claim than one you cannot.

Any of the three can be replaced by another implementation cut to the same contract, and the structure still stands. If the answers are governed, the contracts are published and the catalogue holds no key, then nothing about how it behaves depends on trusting us — that part you check. What is disclosed rather than checked is how it was built and what it depends on, and those are stated plainly here rather than discovered later.

That is why it is worth more to someone who already has the market than to the person who built it.

These pages are the public description. The rule corpus, the models, the decision record and the conformance material are available under NDA, at which point the conversation becomes exclusive.

hello@tacit.software