export type HexDigest = string; export interface DecisionStatement { readonly statementId: string; readonly subject: string; readonly eventType: string; readonly verdict?: string; readonly occurredAt: string; readonly tenantId?: string; readonly actor?: string; readonly payload?: unknown; } export type IdentityAssurance = 'development' | 'external-custody'; export interface SigningIdentity { readonly keyId: string; readonly issuer: string; readonly assurance: IdentityAssurance; readonly algorithm: number; readonly publicKeySpki?: string; } export interface SignedStatement { readonly statementId: string; readonly issuer: string; readonly subject: string; readonly cose: string; readonly statementHash: HexDigest; readonly identity: SigningIdentity; } export interface Receipt { readonly statementId: string; readonly leafIndex: number; readonly treeSize: number; readonly treeRoot: HexDigest; readonly cose: string; readonly identity: SigningIdentity; } export interface TransparentStatement { readonly statement: SignedStatement; readonly receipt: Receipt; } export interface TransparencyLedgerEntry { readonly decision: DecisionStatement; readonly transparentStatement: TransparentStatement; }