A policy is a set of orchestrated rules that the decision engine evaluates when it receives an event data request. When a policy is hit, the engine returns the configured output — tags, scores, variables, or a final decision.
Prerequisites
Before you begin, ensure that you have:
An event. See Create an event
Configure basic policy information
Go to the Policy Management page and click Create Policy.
Enter the Policy Name and Policy Description.
Select the Associated Event.
Dependent variables are linked to the associated event. After you submit the policy, you cannot change the associated event. This restriction prevents configuration errors that could disable variables and disrupt policy calculations.
Configure calculation logic
Each condition follows this structure:
[Left Variable] [Operator] [Right Variable]| Field | Description |
|---|---|
| Condition Name | Optional. A descriptive name that appears in the visualization preview instead of the condition's ordinal number. |
| Left Variable | The value to evaluate. Select an event field, device variable, custom variable, system variable, or intermediate variable. For event fields, apply a function if needed — for example, apply a lowercase conversion function to an email address field. |
| Operator | The comparison to perform. Available operators depend on the data type of the left variable. For example, string type variables do not support greater than, less than, or equal to operators. |
| Right Variable | The value to compare against. Enter a constant or select a variable. Set this after selecting the left variable and operator. |
To add more conditions, click Add Calculation Logic. To reuse an existing condition, copy it and modify the fields.
Combine conditions with logic
After adding conditions, orchestrate them in the Preview calculation logic field using condition ordinal numbers (1, 2, 3, ...) and logic symbols:
| Symbol | Operation | Example |
|---|---|---|
| | OR | 1 | 2 |
& | AND | 1 & 2 |
! | NOT | !3 |
() | Grouping | (1 | 2) & 3 |
Example: To flag applicants who match a phone number blocklist, an email blocklist, or an account blocklist, enter 1 | 2 | 3.
To preview the resulting rule tree, click View Rules Tree. Named conditions display their names; unnamed conditions display their ordinal numbers.
Configure policy outputs
When a policy is hit, the decision engine returns the outputs you configure here.
| Output type | Description |
|---|---|
| Output tags | Descriptive labels such as highRisk or pass. Separate multiple tags with commas. If multiple policies for the same event share a tag, the system deduplicates the tags in the final output. |
| Output score | An integer from -1,000 to 1,000. The event score is the sum of the scores of all hit policies for that event. |
| Output intermediate variables | Temporary variables calculated during policy evaluation. When this policy is hit, the intermediate variable is calculated and made available to other policies for the same event. |
| Output variables | Custom output variables included in the API response when the policy is hit. These can be event request parameters or intermediate variables. |
| Event-specific actions | A preset action that runs automatically when the policy is hit, such as accumulating a variable's value. Configure the relevant mapping parameters to enable this. |
| Output decision result | Select Reject (REJECT), Pending (PENDING), Pass (PASS), or leave blank. Selecting a value adds the finalDecision field to the API response. |
When multiple policies are hit, the finalDecision value follows this priority order: REJECT > PENDING > PASS.
Publish the policy
Policies have three statuses:
| Status | Saved | Executed | Output returned |
|---|---|---|---|
| Draft | Yes | No | No |
| Trial Run | Yes | Yes | No |
| Official Run | Yes | Yes | Yes |
To reduce the risk of configuration errors, set the policy to Trial Run first. In Trial Run, the policy executes but does not return output — verify that conditions fire as expected before switching to Official Run.
To publish the policy:
Save the policy. Its initial status is Draft.
Click Trial Run or Run to change the status.
After the status changes successfully, the policy takes effect within 2 minutes.