Versions in this module Expand all Collapse all v0 v0.1.0 Oct 12, 2026 Changes in this version + const ErrNoGuard + var ErrBadDecision = errors.New("guard: not a valid decision") + type Action string + const Destroy + const Retire + type Decision struct + Outcome Outcome + Reason string + func Allow() Decision + func AwaitApproval(reason string) Decision + func Deny(reason string) Decision + type Func func(ctx context.Context, req Request) (Decision, error) + func (f Func) Check(ctx context.Context, req Request) (Decision, error) + type Guard interface + Check func(ctx context.Context, req Request) (Decision, error) + func All(guards ...Guard) Guard + func AllowAll() Guard + func DenyAll(reason string) Guard + type Outcome uint8 + const Allowed + const Denied + const Pending + func (o Outcome) String() string + type Request struct + Action Action + Actor string + DEKID envelope.ID + Emergency bool + KEKID envelope.ID + Purpose keyforge.Purpose + References int + Version uint32