Compliance & Contacts

Compliance that runs before the AI. Every time.

Opt-outs, time windows, and frequency limits are enforced in code — not delegated to the AI's judgment. If compliance intercepts a message, the AI never sees it.

0 false negativeslegal requirement — word-boundary-aware keyword matching
7 dayssilence window — conversations close automatically
30 daysmessaging window — enforced per Spam Act requirements
100%of compliance decisions written to the audit log
Opt-out handling

Hard opt-outs are permanent. No exceptions.

When a contact sends STOP, the opted_out flag is set permanently in the database with a timestamp. That record is never deleted — its existence is the proof that prevents re-messaging.

  • Word-boundary-aware matching — 'stopping by' does not trigger an opt-out
  • STOP, UNSUBSCRIBE, DELETE, QUIT, CANCEL and common variants all matched
  • Opted-out contacts are blocked from reimport without explicit operator action
  • Opt-out timestamp and matched keyword stored permanently on the contact record
  • Campaign launch blocked automatically if opted-out contacts are in the cohort
Opt-out flow
  1. 1
    Inbound message received
    STOP keyword detected by compliance module
  2. 2
    AI call blocked
    Pipeline exits before the AI provider is called
  3. 3
    Opt-out flag set
    Permanent record written with timestamp and keyword
  4. 4
    Confirmation sent
    Acknowledgement message delivered to contact
  5. 5
    Audit row written
    Compliance decision logged with full context
Time windows & frequency

Rules that enforce themselves.

Time window and frequency rules are enforced in code on every message — no manual monitoring required. The platform handles Australian Spam Act requirements automatically.

7-day silence window

Conversations with no contact activity for 7 days are closed automatically. No follow-up is sent after the window expires — the contact is treated as disengaged.

How it works: Measured from the last inbound message, or last outbound if no inbound exists.

30-day messaging window

Non-opt-out messages are blocked after 30 days from the last contact activity. Only opt-out responses can be received after the window — no outbound is permitted.

How it works: Both windows enforced in code before any AI call — not left to AI judgment.

Frequency cap enforcement

Outbound bump frequency is controlled by the campaign's bump_intervals array. The scheduler will not enqueue further bumps once the cap is reached — contacts are never over-messaged.

How it works: max_bumps derived from array length — no separate field to keep in sync.

Full audit trail

Every compliance check — whether it passes or intercepts — writes an audit log entry with contact ID, check type, outcome, matched keyword, and timestamp. Exportable as CSV.

How it works: Required for regulatory inspection. Available to client admins from the operator platform.

Want to see how compliance
works in practice?

We'll walk you through a live campaign — opt-outs, windows, and audit log included.