opentide

Metadata

Shared metadata block present on all Tide objects (threat, objective, rule). Provides identity, schema routing, versioning, provenance, and classification.

Requirements

  • Every core object MUST include a metadata object.
  • metadata.schema MUST be a registered schema identifier; unknown identifiers are invalid.
  • metadata.uuid MUST be a UUIDv4 string.
  • metadata.version MUST be present (semver string or integer).
  • metadata.created and metadata.modified MUST be ISO 8601 date or datetime strings (coerced to string on load).
  • metadata.tlp MUST be a valid Traffic Light Protocol value from the tlp vocabulary.
  • metadata.author, metadata.contributors, and metadata.organisation MAY be omitted.

Definition

metadata (ObjectMetadata)

FieldTypeRequiredDescription
uuidstring (UUIDv4)yesGlobally unique object identifier
schemastringyesSchema identifier, e.g. rule::1.0 (alias: schema_id in Pydantic)
versionstring | integeryesBusiness version of this instance
createdstringyesCreation date
modifiedstringyesLast modification date
tlpstringyesTraffic Light Protocol classification
authorstringnoPrimary author
contributorslist[string]noAdditional contributors
organisationOrganisationnoOwning organisation

organisation (Organisation)

FieldTypeRequiredDescription
uuidstringyesOrganisation UUID
namestringyesOrganisation display name

references (ObjectReferences)

Optional on threat, objective, and rule objects.

FieldTypeRequiredDescription
publicmap[integer, string]noPublic reference IDs to URLs (YAML int keys coerced on load)
internalmap[string, string]noInternal reference keys to URLs
reportslist[string]noReport links

Relationships

Defaults & overrides

No client overrides for metadata structure. Template generation MAY pre-fill dates and placeholder UUIDs via opentide generate templates.

Examples

metadata:
  uuid: 00000000-0000-4000-8003-000000000001   # UUIDv4, unique across the repo
  schema: rule::1.0                             # registered schema identifier
  version: 1                                    # instance content version
  created: "2026-01-01"
  modified: "2026-01-02"
  tlp: clear                                    # from the `tlp` vocabulary

History

VersionDateNotes
1.02026-06-25Initial spec from opentide models/metadata.py

On this page