Files
breakpilot-compliance/ai-compliance-sdk/payment-compliance-pack/statemachine/terminal_states.md
Benjamin Admin 8dfab4ba14 feat: Payment Compliance Pack — Semgrep + CodeQL + State Machine + Schema
Ausfuehrbares Pruefpaket fuer Payment-Terminal-Systeme:

1. Semgrep-Regeln (25 Regeln in 5 Dateien):
   - Logging: Sensitive Daten, Tokens, Debug-Flags
   - Crypto: MD5/SHA1/DES/ECB, Hardcoded Secrets, Weak Random, TLS
   - API: Debug-Routes, Exception Leaks, IDOR, Input Validation
   - Config: Test-Endpoints, CORS, Cookies, Retry
   - Data: Telemetrie, Cache, Export, Queue, Testdaten

2. CodeQL Query-Specs (5 Briefings):
   - Sensitive Data → Logs
   - Sensitive Data → HTTP Response
   - Tenant Context Loss
   - Sensitive Data → Telemetry
   - Cache/Export Leak

3. State-Machine-Tests (10 Testfaelle):
   - 11 Zustaende, 15 Events, 8 Invarianten
   - Duplicate Response, Timeout+Late Success, Decline
   - Invalid Reversal, Cancel, Backend Timeout
   - Parallel Reversal, Unknown Response, Reconnect
   - Late Response after Cancel

4. Finding Schema (JSON Schema):
   - Einheitliches Format fuer alle Engines
   - control_id, engine, status, confidence, evidence, verdict_text

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 14:59:49 +02:00

1.1 KiB

Terminal Payment State Machine

States

  • IDLE
  • SESSION_OPEN
  • PAYMENT_REQUESTED
  • WAITING_FOR_TERMINAL
  • APPROVED
  • DECLINED
  • CANCELLED
  • REVERSAL_PENDING
  • REVERSED
  • ERROR
  • DESYNC

Events

  • open_session
  • close_session
  • send_payment
  • terminal_ack
  • terminal_approve
  • terminal_decline
  • terminal_timeout
  • backend_timeout
  • reconnect
  • cancel_request
  • reversal_request
  • reversal_success
  • reversal_fail
  • duplicate_response
  • invalid_command

Transitions

From Event To
IDLE open_session SESSION_OPEN
SESSION_OPEN send_payment PAYMENT_REQUESTED
PAYMENT_REQUESTED terminal_ack WAITING_FOR_TERMINAL
WAITING_FOR_TERMINAL terminal_approve APPROVED
WAITING_FOR_TERMINAL terminal_decline DECLINED
WAITING_FOR_TERMINAL terminal_timeout DESYNC
WAITING_FOR_TERMINAL cancel_request CANCELLED
APPROVED reversal_request REVERSAL_PENDING
REVERSAL_PENDING reversal_success REVERSED
REVERSAL_PENDING reversal_fail ERROR
* invalid_command ERROR
* backend_timeout DESYNC