OCSF Standardization
Description
The OCSF Standardization processor transforms log data into Open Cybersecurity Schema Framework (OCSF) compliant events. It maps fields from incoming logs to the appropriate OCSF class structure using
Use
Use the OCSF Standardization processor to normalize security logs from diverse sources into a common OCSF schema before routing them to a security destination. The processor replaces the log body with an OCSF-compliant JSON structure. The original log attributes and resource fields are preserved. Destinations such as AWS Security Lake and Google SecOps both support forwarding just the log body, making them well-suited for use downstream of this processor.
Supported Types
✓
Configuration
Telemetry Types
Yes
telemetrySelector
The types of telemetry to apply the processor to. Only Logs are supported.
OCSF Version
Yes
enum
The version of the OCSF specification to use for standardization. Supported versions: 1.0.0 through 1.7.0.
Runtime Validation
Yes
bool
Enable runtime validation of OCSF events against the schema. Logs that fail validation will be dropped.
Event Mappings
Yes
ocsfEventMappings
One or more mappings that define how incoming logs are transformed into OCSF events. See Event Mappings below.
Event Mappings
Each event mapping defines the rules for transforming a matched log into a specific OCSF event class. Multiple mappings can be configured to handle different log types within the same processor. The first mapping whose filter condition matches a given log record is applied.
Class ID
Yes
int
The OCSF class ID for the target event type (e.g., 3002 for Authentication Activity).
Filter
No
string
A condition expression that determines which logs this mapping applies to. If omitted, the mapping applies to all logs.
Profiles
No
string[]
One or more OCSF profiles to apply to this event mapping. Each profile adds additional required and optional fields to the output. See Profiles below.
Field Mappings
Yes
ocsfFieldMapping[]
A list of individual field mappings that copy or set values in the OCSF output body.
Event Mapping Fields
Each entry in the field mappings list defines how a single OCSF field is populated.
To
Yes
string
The target OCSF field path. Dot notation is used for nested fields (e.g., actor.user.name).
From
No*
string
An expression that extracts a value from the source log (e.g., body["EventData"]["IpAddress"]).
Default
No*
any
A static default value to use when the source field is absent or the From expression returns nil.
*At least one of From or Default must be provided for each field mapping.
Automatically Populated Fields
In addition to fields defined in your event mappings, the processor automatically populates the following fields in the log body for every processed record:
class_uid
Set to the Class ID of the matched event mapping.
category_uid
Derived from the Class ID as class_id / 1000.
metadata.version
Set to the configured OCSF version (e.g., "1.7.0").
type_uid
Calculated as class_uid * 100 + activity_id.
The processor also adds an ocsf.class_uid attribute to the log record (outside the body) for use in downstream routing and filtering.
Type Coercion
The processor automatically coerces mapped values to match the target OCSF field's schema type. If a value cannot be coerced, it is passed through unchanged.
integer
int, int64, float64, string (numeric), bool
int
long
int, int64, float64, string (numeric), bool
int64
float
int, int64, float64, string (numeric)
float64
boolean
bool, string ("true"/"false"), int, int64, float64
bool
timestamp
int, int64, float64, string (numeric or RFC3339/RFC3339Nano)
int64 epoch milliseconds
datetime
int, int64, float64 (epoch ms), string
string RFC3339
string
Any
Unchanged
OCSF Profiles
Profiles are standardized field groups that can be applied to an event to extend it with a predefined set of related attributes. When a profile is selected, its required fields must be mapped. Profiles are selected per event mapping using a multi-select dropdown.
Not all profiles are available for every class. The profile dropdown automatically filters to show only profiles that are valid for the selected class and OCSF version.
Example Configuration
Map Windows Logon Events to OCSF Authentication Activity
In this example, Windows Security Event ID 4624 (Successful Logon) is mapped to the OCSF class 3002 (Authentication). The filter ensures this mapping applies only to matching log records. Field mappings populate all required fields for the Authentication class, including the target user, event time, severity, and source network details.

Standalone Processor
The resulting log body will conform to the OCSF Authentication schema (class 3002). The table below shows all populated fields, including those automatically added by the processor:
class_uid
Auto
3002
category_uid
Auto
3
metadata.version
Auto
"1.3.0"
type_uid
Auto
300201
user.name
Field mapping
Value from body["EventData"]["TargetUserName"]
user.domain
Field mapping
Value from body["EventData"]["TargetDomainName"]
time
Field mapping
Value from body["System"]["TimeCreated"]["SystemTime"], coerced to epoch ms
severity_id
Field mapping
1 (Informational)
activity_id
Field mapping
1 (Logon)
status_id
Field mapping
1 (Success)
src_endpoint.ip
Field mapping
Value from body["EventData"]["IpAddress"]
src_endpoint.hostname
Field mapping
Value from body["EventData"]["WorkstationName"]
actor.user.name
Field mapping
Value from body["EventData"]["SubjectUserName"]
actor.user.domain
Field mapping
Value from body["EventData"]["SubjectDomainName"]
The log record attribute ocsf.class_uid will also be set to 3002.
Schema Validation
Configuration-time Validation
When the processor is saved, Bindplane validates it against the OCSF schema. Configuration-time validation checks:
The selected OCSF version is supported.
Each event mapping has a valid Class ID.
All filter and from expressions are syntactically valid.
Any selected profiles are valid for the chosen class and version.
Field coverage - all required fields for the class (and any selected profiles) have a corresponding field mapping. The auto-populated fields (
class_uid,category_uid,metadata.version,type_uid) are counted toward coverage automatically.
Configuration validation does not verify that mapped values will be the correct type at runtime. A field mapping that references the wrong source field or provides a default of the wrong type will pass configuration validation but may fail at runtime if Runtime Validation is enabled.
Runtime Validation
When Runtime Validation is enabled (the default), each processed log record is validated against the full OCSF schema after all field mappings are applied. Log records that fail validation are dropped and logged as errors. Validation checks include:
Required fields - all required fields for the class and selected profiles are present.
Enum values - integer and string enum fields contain a valid value from the allowed set.
String length - string fields do not exceed their maximum allowed length.
Pattern constraints - fields with format requirements (such as IP addresses, email addresses, hostnames, UUIDs, and datetime strings) match the expected pattern.
Disable runtime validation during initial configuration to allow logs through while you iterate on your field mappings. Re-enable it once the output is confirmed correct to ensure that all log bodies sent to your destination are OCSF-compliant.
Last updated
Was this helpful?