ABS Core
Policies

Financial Policy

Fraud & Risk Control for Fintech Agents

Financial Policy

The Financial Policy Pack (financial.yml) is designed for high-risk fintech environments where agents interact with payment gateways, ledgers, or banking APIs.

Rules

IDRule NameDescriptionAction
FIN-001amount-limit-hardBlock transactions > $50,000DENY
FIN-002amount-limit-softFlag transactions > $10,000 for reviewESCALATE
FIN-003velocity-check> 5 transactions/min from same agentDENY
FIN-004offshore-transferDetect international IBANs/SWIFT codesESCALATE
FIN-005crypto-addressBlock transfer to known crypto wallet patternsDENY
FIN-006insider-tradingDetect keywords related to non-public infoESCALATE
FIN-007auth-bypassDetect attempts to modify auth headersDENY

Usage

In your abs-config.json or .env:

{
  "policies": {
    "financial": "enabled"
  }
}

Advanced Configuration

1. Dynamic Thresholds (Agent Tiering)

Instead of hardcoded limits, you can use expressions to set dynamic thresholds based on agent metadata:

# rules/financial.yml
- id: FIN-003
  name: velocity-check
  description: "Dynamic velocity limit based on agent tier"
  condition:
    # VIPs get 50/min, others get 5/min
    limit: "${agent.tier == 'vip' ? 50 : 5}"
    window: "60s"
  action: DENY

2. State Architecture (Velocity Checks)

Velocity checks require state. ABS Core supports two state backends:

BackendLatencyConsistencyUse Case
In-Memory (Default)<5msEventual (Per-Region)Dev / Low-Risk
Redis / KV~30msStrongProduction / High-Risk

Note: The velocity-check rule automatically uses atomic counters. If using In-Memory, counters reset if the worker node restarts. For production, configure a Redis connection string in your .env.

3. State Flow Diagram

Visualizing how the engine handles stateful checks:

graph TD
    A[Agent Request] --> B{Identity Extracted?}
    B -- No --> D[DENY: Unauthenticated]
    B -- Yes (AgentID) --> C[Fetch State (Redis)]
    C --> E{Check Threshold}
    E -- Limit Exceeded --> F[DENY: Rate Limit]
    E -- Within Limit --> G[Update Counter (+1)]
    G --> H[ALLOW: Pass to LLM]
    
    style C fill:#f9f,stroke:#333
    style G fill:#bbf,stroke:#333

3. Latency Benchmarks

  • Stateless Checks (Regex/Static): < 5ms
  • Stateful Checks (Velocity/Frequency): 20-50ms (dep. on external store)

JSON Schema

The policy enforces the following schema on financial.transfer events:

{
  "amount": "number",
  "currency": "string",
  "recipient": "string",
  "reason": "string"
}

On this page