OMEGAENGINE · POLICY ENGINE

Turn legal, trust & safety, and business rules into one policy layer.

OmegaEngine evaluates decisions against your policies and tags each request with policyOutcome and policyTags.

1. How the policy engine works

You define policies as JSON or TypeScript configuration that encode:

  • What actions are allowed, blocked, or need human review
  • Which topics are considered “high-risk”
  • Which jurisdictions / customers get special treatment
  • Rate limits or monetary thresholds per role / tier

For each request, OmegaEngine returns:

  • policyOutcome: ALLOW | REVIEW | BLOCK
  • policyTags: array of rules triggered
  • policyVersion: config version for audit

2. Example tenant policy config

Stored per tenant or environment in /tenant-policies:

{
  "version": "2025-11-01",
  "name": "Default production policy",
  "jurisdiction": ["US", "EU"],
  "rules": [
    {
      "id": "large_payouts_manual_review",
      "description": "Any payout over $25,000 must be manually approved.",
      "when": {
        "topic": "payouts",
        "amountGreaterThan": 25000
      },
      "outcome": "REVIEW",
      "tags": ["payouts", "financial", "high_value"]
    },
    {
      "id": "block_high_risk_with_ethics_concern",
      "description": "High risk + ethics concern decisions are blocked.",
      "when": {
        "riskLevel": "HIGH",
        "ethicsConcern": true
      },
      "outcome": "BLOCK",
      "tags": ["ethics", "safety"]
    },
    {
      "id": "auto_approve_small_refunds",
      "description": "Auto-approve refunds under $50 for non-fraud reasons.",
      "when": {
        "topic": "refunds",
        "amountLessThanOrEqual": 50,
        "fraudFlag": false
      },
      "outcome": "ALLOW",
      "tags": ["refunds", "low_value"]
    }
  ]
}

3. Enforcing policy outcomes in your stack

Node / TypeScript example

import { omegaClient } from "@/sdk/omegaengine";

export async function handleAgentDecision(input: any) {
  const decision = await omegaClient.decide({
    scenario: input.scenario,
    context: input.context,
  });

  switch (decision.policyOutcome) {
    case "ALLOW":
      return { status: "ALLOWED", decision };
    case "REVIEW":
      await queueForHumanReview(decision);
      return { status: "PENDING_REVIEW", decision };
    case "BLOCK":
      return {
        status: "BLOCKED",
        decision,
        message: "Blocked by OmegaEngine policy engine.",
      };
    default:
      // Fallback: treat as review if something is off
      await queueForHumanReview(decision);
      return { status: "PENDING_REVIEW", decision };
  }
}

Need help encoding your legal / compliance policies into OmegaEngine?

Book a policy workshop →