Versions in this module Expand all Collapse all v0 v0.1.0 Oct 11, 2026 Changes in this version + type Audience string + const Application + const Internal + type Catalog struct + Entities []Entity + Name string + func Decode(r io.Reader) (*Catalog, error) + func Merge(catalogs ...*Catalog) (*Catalog, error) + func Parse(data []byte) (*Catalog, error) + func ReadFile(path string) (*Catalog, error) + func (c *Catalog) AllowedInQuery(entity, field string, allowPII bool) bool + func (c *Catalog) Clone() *Catalog + func (c *Catalog) Encode(w io.Writer) error + func (c *Catalog) Entity(name string) (Entity, bool) + func (c *Catalog) Field(entity, name string) (Field, bool) + func (c *Catalog) MarshalJSONIndent() ([]byte, error) + func (c *Catalog) Normalize() + func (c *Catalog) PrivacyScopeEntities() []Entity + func (c *Catalog) RenderMarkdown() string + func (c *Catalog) Validate() error + func (c *Catalog) WriteFile(path string) error + type Entity struct + Description string + Fields []Field + HoldApplicable bool + Name string + Owner string + PrivacyScope bool + Retention string + SubjectKey string + Versioned bool + func (e Entity) Field(name string) (Field, bool) + func (e Entity) HasPII() bool + func (e Entity) PIIFields() []Field + func (e Entity) QueryableFields(allowPII bool) []Field + func (e Entity) Validate() error + func (e Entity) VisibleFields(aud Audience) []Field + type Erasure string + const ErasureClear + const ErasureDeleteRow + const ErasureHash + const ErasureRetain + const ErasureShred + const ErasureTombstone + func (e Erasure) Valid() bool + type Field struct + Description string + Erasure Erasure + Export bool + Name string + PII bool + RetainReason string + Secret bool + Type Type + Visibility Visibility + func (f Field) AllowedInQuery(allowPII bool) bool + func (f Field) VisibleTo(aud Audience) bool + type Problem struct + Entity string + Field string + Message string + Rule Rule + func (p Problem) String() string + type Rule string + const RuleErasureInvalid + const RuleNameRequired + const RuleNameUnique + const RulePIIErasureRequired + const RuleRetainReasonMissing + const RuleSecretInternal + const RuleSubjectKeyRequired + const RuleSubjectKeyUnknown + const RuleTypeInvalid + const RuleVisibilityRequired + type Type string + const TypeBool + const TypeBytes + const TypeJSON + const TypeNumber + const TypeString + const TypeTime + func (t Type) Valid() bool + type ValidationError struct + Problems []Problem + func (e *ValidationError) Error() string + func (e *ValidationError) Has(r Rule) bool + type Visibility string + const VisibilityInternal + const VisibilityPublic + func (v Visibility) Valid() bool