Evidence: Find and trust
Approving software and issuing it an identity are two decisions with two owners.
We already have a catalogue and an approval process. Do we replace them?
- 3Claims on this page
- 8Artefacts behind them
- 4Reads you can run here
Two decisions, two owners
-
01 Approve
The Tarnbrook catalogue
Decides the software can run.
-
02 Issue
Raidiam Connect
- The operator
- The release version
- A certificate over its key
- The lifecycle state
-
03 Accredit
The accreditor
Grants its roles in the accreditation console.
-
04 Resolve
Every Tarnbrook platform
Resolves the agent once the authority lists it.
The approval stays in the system you run today.
In detail
The catalogue stands in for whichever approval system you run: a catalogue, a change workflow or a pipeline. That decision stays where it is. When Imogen Falk approves the Records Assistant, the catalogue calls Raidiam Connect. Connect records the statement and a certificate over a key the catalogue generated, and the role claims wait for accreditation. The accreditor grants them in the accreditation console, and Connect refuses any role the organisation does not hold. When the authority lists the agent, every platform that trusts the Tarnbrook authority can resolve it.
Connect keeps three objects apart. A release is a versioned build with a digest and a signature from its publisher. An agent is a governed identity with its own federation identifier, its own roles and its own lifecycle state. An instance is one running copy, with a key generated in process. The catalogue asks for the second. The third arrives in use case 4.
An organisation allocates only what it holds
- The authorityAccredits the organisation.
- The organisationHolds the accreditation.
- The agent's statementReferences the organisation's claim.
-
A claim the organisation holds
201Accepted -
A fabricated claim id
404Refused -
Another organisation's claim id
404Refused
Resource of type 'Organisation Authority Claim' with ID '0000…0001' for Organisation with ID 'SHOWCASE-SCRATCH-ORG' not found
The authority accredits the organisation once.
In detail
The organisation then allocates from what it holds, and Connect refuses anything else.
A statement claim that references a claim the organisation lacks is refused by Connect, with an answer that names the referential rule and scopes it to the organisation. The three writes in the figure were made on a scratch statement on this tenant on 9 September 2026, and the statement's claim list stayed at one. Observed
Each role becomes policy the authority signs
The Records Assistant's four Tarnbrook roles.
-
A
tarnbrook.agent.memberAlso the mark both Tarnbrook platforms require of an agent at admission. -
B
tarnbrook.auth.assertion -
C
tarnbrook.records.reader -
D
tarnbrook.transfer.initiator
The subordinate statement
metadata_policy, openid_relying_party
authorization_details_typesvalue- C
records.readCrecords.annotateDtransfer.initiateDtransfer.status grant_typesvalue- C
client_credentialsCauthorization_codeCurn:ietf:params:oauth:grant-type:device_codeDurn:openid:params:grant-type:ciba token_endpoint_auth_methodvalue- B
private_key_jwt client_registration_typesvalue- A
automatic backchannel_token_delivery_modevalue- D
poll
Connect writes the rows of each role into the signed statement.
In detail
The rows set on a role become the policy operators in the subordinate statement the authority signs about the entity. Where two roles set the same claim, the figure joins their values the way the estate's own derivation does, metadataPolicy in packages/estate/src/derive.ts. The agent's own entity configuration carries its software and its keys, and the authority supplies the rest, so a consumer reads what the authority says. The projection was read on the wire on 9 September 2026 for a scratch agent. The figure draws the Records Assistant as the estate declares it. Observed
The list follows the record
Two writes on this tenant, and what the authority served after each.
An authority is mapped to a domain
- 0 s Mapping written
- Within 3 s Served, and named on the federation list
An agent's only claim is withdrawn
- 0 s Claim withdrawn
- By 4 s Dropped from the authority's list
Not observed on this tenant On this tenant the trust mark status endpoint still answered active for a withdrawn mark six minutes later.
One write, and no second publish action.
In detail
Publication follows the record's lifecycle state. An authority's entity configuration is served within seconds of its domain mapping, and an entity leaves the authority's list within seconds of its only claim going inactive. Observed
Two things did not follow in the same reading. The subordinate statement about the withdrawn agent stayed served: its policy was already empty at the 4 second poll, and it was minted again at 61 seconds. Product change T4 asks that it answer 404 instead. The trust mark status endpoint is the Not observed line under the figure, and product change T3 covers it. Use case 6 shows what a change reaches, and when each consumer reads it.
Every agent in this estate
4 Listed by this authority
-
Records Assistant
Tarnbrook Financial Group
records.readrecords.annotatetransfer.initiatetransfer.status -
Balance Monitor
Tarnbrook Financial Group · Published by Quillon Software
records.readtransfer.statusreview.submit -
Batch Reviewer
Tarnbrook Financial Group
records.readrecords.annotate -
Analyst Companion
Tarnbrook Financial Group
records.readreview.submit
4 Through a recognised root
-
Balance Monitor
Quillon Software
records.readtransfer.statusOutside its envelope
transfer.initiate -
Holdings Reader
Larkspur Partners
records.read -
Facility Monitor
Tarnbrook Commercial Banking UK
records.readtransfer.statusOutside its envelope
portfolios.read -
Portfolio Reviewer
Tarnbrook Private Banking (Switzerland)
portfolios.readOutside its envelope
records.read
- Its configuration, hosted by Connect
- Operated by its organisation
- An attested host
- A managed workstation
Two agents share one name and one release.
In detail
The operator beside each name tells them apart, and the route that lists each one decides what that copy may ask for.
Every value in the figure is declared in packages/estate/src/world.ts. The claim page reads the same declaration and refuses to serve unless every agent here matches it.
What this page proves
Each claim, its label and the artefacts behind it.
Delegated accreditation as a Connect control
ObservedConnect refuses a statement claim that references a claim the organisation does not hold, with a 404 that names the referential rule and scopes it to the organisation.
- Lifecycle stage
- Govern
- Lives in
- Raidiam Connect
- Checked by
- Test verification:D
- Artefacts cited
- 2
-
docs/verification/tenant-showcase-2026-09.md#row-d
Read on the wire 2026-09-09. three claim writes on the self managed scratch statement: one held claim accepted, a fabricated id and another organisation's claim id both refused
-
Read on the wire 2026-09-09. the API the write goes through
Every read below is an unauthenticated GET that the capability matrix declares for this page. The command shown is the whole request, and it carries an accept header only.
https://www.raidiam.com/developers/docs/apis/connect-openapi/create-organisation-software-statement-authority-claim
the API the write goes through Read on the wire 2026-09-09.
Fetch it yourself
$ curl -s "https://www.raidiam.com/developers/docs/apis/connect-openapi/create-organisation-software-statement-authority-claim"
Publication driven by governed state
ObservedPublication follows the record's lifecycle state.
The rest of the statement
One write changes the record and the publication follows it; there is no second publish action to perform. An authority's entity configuration is served within seconds of its domain mapping, and an entity leaves the authority's list within seconds of its only claim going inactive.
- Lifecycle stage
- Govern
- Lives in
- Raidiam Connect
- Checked by
- Test verification:9c
- Artefacts cited
- 4
-
Read on the wire 2026-09-09. the scratch authority's entity configuration, served three seconds after the mapping was written
-
federation.directory.showcase.raidiam.io/federation_entity/ec54688a-3e67-414d-84e6-9372e736e4c2/list
Read on the wire 2026-09-09. the scratch federation entity lists the authority
-
docs/verification/tenant-showcase-2026-09.md#row-9c
Read on the wire 2026-09-09.
-
docs/verification/tenant-showcase-2026-09.md#row-10
Read on the wire 2026-09-09. the list dropped the entity at the first poll after the claim went inactive
Every read below is an unauthenticated GET that the capability matrix declares for this page. The command shown is the whole request, and it carries an accept header only.
https://authority.directory.showcase.raidiam.io/authority/96f37fd5-1f2e-4d8e-adbf-de069b3ba978/.well-known/openid-federation
the scratch authority's entity configuration, served three seconds after the mapping was written Read on the wire 2026-09-09.
Fetch it yourself
$ curl -s "https://authority.directory.showcase.raidiam.io/authority/96f37fd5-1f2e-4d8e-adbf-de069b3ba978/.well-known/openid-federation"
https://federation.directory.showcase.raidiam.io/federation_entity/ec54688a-3e67-414d-84e6-9372e736e4c2/list
the scratch federation entity lists the authority Read on the wire 2026-09-09.
Fetch it yourself
$ curl -s "https://federation.directory.showcase.raidiam.io/federation_entity/ec54688a-3e67-414d-84e6-9372e736e4c2/list"
Role rows as the source of published policy
ObservedMetadata policy on the subordinate statement is projected from role rows on the governed record.
The rest of the statement
The rows set on the role appear as the policy operators in the authority's statement about the entity.
- Lifecycle stage
- Govern
- Lives in
- Raidiam Connect
- Checked by
- Test verification:3b
- Artefacts cited
- 2
-
authority.directory.showcase.raidiam.io/authority/96f37fd5-1f2e-4d8e-adbf-de069b3ba978/fetch
Read on the wire 2026-09-09. the statement about the hosted scratch agent carries subset_of, one_of and value operators from the role rows
-
docs/verification/tenant-showcase-2026-09.md#row-3b
Read on the wire 2026-09-09. a row's value shape must match the parameter's shape; one_of and subset_of leave an absent parameter absent
Every read below is an unauthenticated GET that the capability matrix declares for this page. The command shown is the whole request, and it carries an accept header only.
https://authority.directory.showcase.raidiam.io/authority/96f37fd5-1f2e-4d8e-adbf-de069b3ba978/fetch?sub=https://rp.directory.showcase.raidiam.io/openid_relying_party/9108cb50-119d-47a9-b90b-825377971753
the statement about the hosted scratch agent carries subset_of, one_of and value operators from the role rows Read on the wire 2026-09-09.
Fetch it yourself
$ curl -s "https://authority.directory.showcase.raidiam.io/authority/96f37fd5-1f2e-4d8e-adbf-de069b3ba978/fetch?sub=https://rp.directory.showcase.raidiam.io/openid_relying_party/9108cb50-119d-47a9-b90b-825377971753"
The working
What the figures above leave to words.
Ten terms
- anchor
- The root entity of a trust domain whose key a consumer pins from configuration.
- authority
- A Connect entity that publishes signed subordinate statements, marks and policy about the entities it governs.
- trust domain
- The set of entities that chain to one anchor.
- entity configuration
- The self signed statement an entity publishes at its own identifier.
- subordinate statement
- The statement a superior signs about a subordinate: keys, policy, marks.
- trust mark
- The signed projection of an active accreditation, with a status endpoint.
- envelope
- The set of authorization detail types and grant types an authority permits an agent to request. The registered ceiling.
- resolve
- Walk the chain from a leaf to a pinned anchor and fold the policy.
- pin
- The anchor key a consumer holds in configuration, written at deploy time, as the pair of anchor identifier and key.
- recognition
- The governed act by which an authority becomes a superior of an entity that already publishes its own configuration, minting nothing.
Check it against the running estate
Every surface this use case touches, and the host that answers for it.
Which of your systems takes the deployment decision, and which attributes ride on the governed record?
Ninety minutes, on the shape of your estate: which systems resolve first, which anchor each pins, and which key each party holds.
Book a working sessionExplore further