# `OCSF.Product`
[🔗](https://github.com/docjerem/ocsf/blob/v0.1.0/lib/ocsf/objects/product.ex#L1)

OCSF Product object (nested in Metadata).

Describes the product that generated or reported an OCSF event.
Nested inside `OCSF.Metadata` as the `:product` field.

Corresponds to the OCSF
[Product](https://schema.ocsf.io/1.8.0/objects/product) object.

## Fields

- `:name` -- product name. Classified as `:taxonomic`.
- `:vendor_name` -- vendor or publisher name. Classified as `:taxonomic`.
- `:feature` -- `%OCSF.Feature{}` or `nil`. Classified as `:taxonomic`.
- `:uid` -- unique product identifier. Classified as `:identifier`.
- `:version` -- product version string. Classified as `:taxonomic`.

## PII classification

See `OCSF.Classification` for data class definitions. Call
`__ocsf_fields__/0` to inspect this module's field classifications.

See `OCSF.Feature` and `OCSF.Metadata` for related modules.

# `t`

```elixir
@type t() :: %OCSF.Product{
  feature: OCSF.Feature.t() | nil,
  name: String.t() | nil,
  uid: String.t() | nil,
  vendor_name: String.t() | nil,
  version: String.t() | nil
}
```

# `__ocsf_fields__`

```elixir
@spec __ocsf_fields__() :: keyword()
```

Return field classification metadata for PII policy enforcement.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
