RESEARCH / SPECIFICATION

The CDK Security Architecture

Version 1.0 Published 2026-07-29 Authors CDK Core Team DRAFT

Abstract

This document describes the cryptographic architecture underlying CDK's evidence model: how identities are established, how signatures are produced without long-lived key custody, and how every signing event becomes part of a public, tamper-evident record. It does not describe what CDK defends against — see the forthcoming Threat Model — only the mechanisms available to defend with.

1. Identity

CDK never asks a user or CI system to create or manage a CDK-specific credential. Every signer authenticates using an OIDC identity it already has — a GitHub Actions workflow token, a Google Workspace account, a corporate SSO session. CDK verifies the OIDC token and nothing else; there is no separate CDK password or API key to leak.

2. Signing

Signing uses Sigstore's keyless flow. Fulcio, Sigstore's certificate authority, issues a short-lived certificate — typically valid for minutes — binding the verified OIDC identity to an ephemeral public key generated locally. The matching private key is discarded immediately after signing.

IDENTITY
OIDC Token
ISSUES CERT
Fulcio
RECORDS EVENT
Rekor
RESULT
Signed Attestation

There is no long-term key for CDK, the signer, or an attacker to compromise.

3. Transparency Log

Every signing event is recorded in Rekor, Sigstore's public transparency log — an append-only Merkle tree, the same structural pattern used by Certificate Transparency (RFC 6962). A compromised actor cannot sign an attestation and later remove the record: the log entry, and the inclusion proof for it, are permanent and independently checkable.

4. Storage

Evidence at rest is encrypted, and every record is hash-chained to the one before it within its graph. Modifying a stored attestation after the fact breaks that chain — verifiable independently of whether you trust CDK's storage layer at all.

5. Boundary

CDK holds no long-term signing keys, custodies no private key material, and is not the sole record of any signature — Rekor's log exists independently of CDK's own database. If CDK disappeared tomorrow, every attestation it had produced would remain independently verifiable.

References

Sigstore — Keyless Signingsigstore.dev
Fulcio — Certificate Authoritysigstore/fulcio
Rekor — Transparency Logsigstore/rekor
Certificate TransparencyRFC 6962
The CDK Evidence Model Specificationv1.0