--- published: true layout: post title: 'Trust in Protocols, Not Institutions: Transparency Logs for API Authorization' image: https://kinlane-images.s3.amazonaws.com/apievangelist/api-evangelist-images/trust-in-protocols-not-institutions-transparency-logs-for-api-authorization.png date: 2026-08-04 author: Kin Lane tags: - API Authorization - Transparency - Auditability - Digital Government - Germany - API Security - Zero Trust --- This is the sixth post in my series on [Germany's federal API authorization blueprint](https://apievangelist.com/2026/07/16/germany-built-the-api-authorization-blueprint-the-rest-of-government-needs/). We have a verified client, a sender-constrained token, and a policy-based decision about what it may do. Now comes the question that most security architectures answer weakly, with a shrug toward a log file: how does anyone *know* the system behaved honestly — including when the threat is coming from inside the operator? Germany's answer is one of the boldest things in the whole design, and it starts with a principle they wrote down in plain language: **trust is based on protocols and processes, not on institutions.** Sit with that for a second, because it is not the usual government posture. Their reasoning is unsentimental. Yes, authorities and companies generally follow the law — but history, including German history, is full of cases where even public bodies did not, whether because of an insider or because there were strong incentives to exploit a legal gray area. And in a highly automated federated infrastructure, they note, that kind of misbehavior can cause far more damage far faster than it ever could on paper. So the architecture is designed to *not require* trusting that any given institution — including the ones operating the infrastructure — will always do the right thing. You assume the insider threat and you build so that misbehavior is detectable regardless. This is Zero Trust taken to its honest conclusion and pointed inward. The concrete mechanism is a **transparency log**. If you know how Certificate Transparency works, you already have the intuition: an append-only data structure built on a Merkle tree, where entries can be added but never quietly changed or removed — not even by the operator of the log itself. Because of the cryptographic structure, anyone can verify two things without trusting whoever runs it: an *inclusion proof* shows that a specific entry really is in the log, and a *consistency proof* shows that a later state of the log is an honest extension of an earlier one, with nothing rewritten. Germany reached for this specifically to address the risk of illegitimate changes to coarse-grained permissions. Their [decision record](https://gitlab.opencode.de/sachsen-anhalt/mid/foederale-api-autorisierungsinfrastruktur) is clear about why transparency beat the alternatives: it makes manipulation reliably *detectable*, it works independently of any central operations team, and it lets federated operators check for themselves whether permissions were changed legitimately — without having to take anyone's word for it. Two follow-on decisions show how carefully they thought this through, and both are worth copying. First, the implementation: they selected [Google's Trillian and Tessera](https://github.com/google/trillian) as the transparency-log stack, for its maturity, its strong integrity guarantees, its flexible data model, and — importantly for a federation — its well-supported auditor and monitor roles, with an explicit note that they will re-evaluate before final build rather than commit blindly to a tool. Second, and this is the one people miss: they made a rule that the central transparency log stays completely **free of personal and organizational data**. Traceability to specific people lives only in local, protected audit logs; the central log carries the tamper-evidence — the hashes and signatures — without the sensitive payload. That satisfies data minimization and GDPR at the same time as it delivers cryptographic integrity, and it actually *improves* the federation story, because the shared transparency layer contains nothing that would make an operator nervous to expose it. They refused the false choice between "auditable" and "private" and engineered their way to both. There is a companion capability alongside the log that rounds out the trust story: a standardized way to distribute security events across organizational boundaries, built on the [OpenID Shared Signals Framework](https://openid.net/specs/openid-sharedsignals-framework-1_0.html) and [Security Event Tokens (RFC 8417)](https://datatracker.ietf.org/doc/html/rfc8417). Where the transparency log is the tamper-evident record of what happened, Shared Signals is the real-time nervous system — signed, structured security events flowing between cooperating systems so that a risk condition detected in one place can be acted on elsewhere. Together they give you both the durable ledger and the live feed, using open standards rather than a proprietary SIEM integration that would relock you into a vendor at the exact layer where independence matters most. I care about this part of the architecture more than almost any other, because it connects directly to something I have been building toward on my own: the idea that governance should have *memory* — that a review or a decision should be a first-class, timestamped, kept artifact you can diff and trend over time, not an event that evaporates the moment it happens. I recently [ran a governance ruleset across my own APIs and committed the receipts](https://apievangelist.com/2026/07/15/governance-memory-in-practice-running-owasp-across-my-own-apis/) precisely to make that point at small scale. Germany's transparency log is the same instinct at national scale and with real cryptographic teeth: authorization changes become a permanent, verifiable, operator-independent record. That is what it looks like to make institutional memory a property of the *protocol* instead of a promise from the institution. For US and European agencies, the lesson lands hard against your existing mandates. You are already required to keep tamper-resistant audit logs of security-relevant events. A transparency log is a strictly stronger way to meet that requirement — integrity you can prove without trusting the operator — and keeping personal data out of the central log is exactly the privacy posture your own rules ask for. Adopt the principle first, though, before the technology: design as if the operator could be compromised, because someday, somewhere, one will be. Next in the series I step back from the technology entirely to look at the thing that actually holds it all together — the governance discipline of architecture decision records and attacker models, and why "show your work" is the most transferable lesson of the whole project.