[[ecs-category-field-values-reference]] == {ecs} Categorization Fields At a high level, ECS provides fields to classify events in two different ways: "Where it's from" (e.g., `event.module`, `event.dataset`, `agent.type`, `observer.type`, etc.), and "What it is." The categorization fields hold the "What it is" information, independent of the source of the events. ECS defines four categorization fields for this purpose, each of which falls under the `event.*` field set. [float] [[ecs-category-fields]] === Categorization Fields * <> * <> * <> * <> NOTE: If your events don't match any of these categorization values, you should leave the fields empty. This will ensure you can start populating the fields once the appropriate categorization values are published, in a later release. [float] [[ecs-category-usage]] === Categorization Usage <> contains examples combining the categorization fields to classify different types of events. {% for field in fields %} [[ecs-allowed-values-{{ field['dashed_name'] }}]] === ECS Categorization Field: {{ field['flat_name'] }} {{ field['description']|replace("\n", "\n\n") }} *Allowed Values* {% for value_details in field['allowed_values'] %} * <> {%- endfor %} {% for value_details in field['allowed_values'] %} [float] [[ecs-{{ field['dashed_name'] }}-{{ value_details['name'] }}]] ==== {{ value_details['name'] -}} {% if value_details['beta'] %} beta:[ {{ value_details['beta'] }} ] {%- endif %} {{ value_details['description']|replace("\n", "\n\n") }} {% if 'expected_event_types' in value_details %} *Expected event types for category {{ value_details['name'] }}:* {{ value_details['expected_event_types']|join(', ') }} {% endif %} {% endfor %} {%- endfor %} include::field-values-usage.asciidoc[]