Data class taxonomy for PII classification.
Every field in an OCSF nested object struct is tagged with a data class
via __ocsf_fields__/0. Sink policies use these classes to decide
which fields to allow, deny, or transform during redaction.
Data classes
| Class | PII? | Default policy |
|---|---|---|
:identifier | No | :allow |
:tenant | No | :allow |
:taxonomic | No | :allow |
:temporal | No | :allow |
:contact | Yes | :deny |
:identity | Yes | :deny |
:network | No | :deny |
:geolocation | No | :deny |
:credential | Yes | :deny |
See OCSF.User, OCSF.Organization, and other struct modules for
per-field classification via __ocsf_fields__/0.
Summary
Functions
Return all valid data classes.
Return the default sink policy for a data class.
Return true if the class is classified as PII by default.
Types
Functions
@spec data_classes() :: [data_class()]
Return all valid data classes.
Examples
iex> OCSF.Classification.data_classes()
[:identifier, :tenant, :taxonomic, :temporal, :contact, :identity, :network, :geolocation, :credential]
@spec default_policy(data_class()) :: :allow | :deny
Return the default sink policy for a data class.
Non-sensitive classes default to :allow; sensitive classes default
to :deny.
Examples
iex> OCSF.Classification.default_policy(:identifier)
:allow
iex> OCSF.Classification.default_policy(:contact)
:deny
@spec pii?(data_class()) :: boolean()
Return true if the class is classified as PII by default.
The PII classes are :contact, :identity, and :credential.
Examples
iex> OCSF.Classification.pii?(:contact)
true
iex> OCSF.Classification.pii?(:identity)
true
iex> OCSF.Classification.pii?(:identifier)
false