Skip to main content
The Contact Flow Log redaction Lambda enforces this schema. The Lambda runs inside your AWS account, applies these rules to every event read from CloudWatch, and ships only the surviving payload to Operata. For the model behind the schema and the rollout procedure, see Concept: Privacy and redaction and Configure Contact Flow Log redaction.
This schema applies to the Contact Flow Log integration only. Lex and CTR integrations have their own schemas.

Field tiers

Every field in an event payload belongs to exactly one of six tiers. The four customer-configurable tiers (Allow, Deny, Encrypt, Transform) are mutually exclusive: any one field appears in at most one tier.
Today only the Mandatory tier is enforced end to end. Allow, Deny, Encrypt, and Transform are accepted in the config but applied as pass-through. Follow the Operata changelog for rollout.

Processing order

The Lambda processes every event in four passes, in order.
  1. Mandatory override. Check each field path against the mandatory list. If a mandatory field sits under a denied parent, retain the parent and prune all non-mandatory siblings. Mandatory always wins.
  2. Deny. Evaluate every remaining field path against the deny list. Mark matched fields for removal.
  3. Allow, Encrypt, Transform. Apply the customer-declared tiers to remaining fields.
  4. Default nullify. Every field not covered by the previous three passes keeps its key, value becomes null.

Path notation

Both lists use dot notation.
  • Parameters matches the entire object at the Parameters key.
  • Parameters.LexVersion matches only that subfield.
Rules apply at every depth consistently. Deny-with-mandatory-preservation works the same at any nesting depth.

Parent-key behavior

When a deny entry targets a parent (for example, Parameters) and no mandatory entry references any child of that parent, the Lambda removes the entire Parameters key. The key is absent from the output — not an empty object. When a deny entry targets a parent and the mandatory, allow, encrypt, or transform list references one or more children of that parent, the Lambda retains the parent containing only those referenced children. Every other child is removed regardless of whether it also appears explicitly in the deny list.

Data flow

Mandatory keep-list

The redaction Lambda always preserves these fields, regardless of deny, encrypt, or transform configuration.

Example

Raw log emitted by Amazon Connect:
Customer configuration applied by the Lambda:
Payload Operata receives after filtering:

Common configurations