anoman
MasukDapatkan API Key
Beranda Dokumentasi

Guardrails

Empat pengecekan pre-call dan dua pengecekan post-call berjalan pada setiap request. Request yang diblokir mengembalikan 403 — tidak pernah diantrekan, tidak pernah ditagih.

Guardrails selalu berjalan sebelum routing

Pipeline guardrail berjalan sebelum keputusan routing apa pun. Request yang gagal pada pengecekan pre-call mengembalikan 403 seketika — tidak pernah mencapai LLM dan tidak pernah ditagih.

Cek auth + rate limit
→ [PRE-CALL GUARDRAILS]
    1. Deteksi prompt injection (classifier ML, ~30ms)
    2. Deteksi PII (~20ms)
    3. Moderasi konten (keyword + ML, ~5ms)
    4. Cek policy tool-call (allowlist/denylist, ~10ms)
    ↳ diblokir? Kembalikan 403. Request tidak pernah mencapai LLM. Tidak pernah ditagih.
Cek semantic cache → Routing → LLM call
→ [POST-CALL GUARDRAILS]
    5. Filter konten response
    6. Pemindaian PII response
Token metering → Response ke klien

Empat lapisan pre-call

Prompt Injection

Classifier injeksi-prompt berbasis ML. Threshold kepercayaan dapat dikonfigurasi per policy group. Latensi CPU ~30ms. Tidak dapat dinonaktifkan secara system-wide; threshold dapat disesuaikan.

Masking PII

Engine deteksi PII. Entitas default: EMAIL, CREDIT_CARD, SG NRIC, ID NIK, MY MyKad, TH National ID. Opt-in: PHONE, IP_ADDRESS, URL. Empat mode: redact, tokenize, synthetic, block.

Moderasi Konten

Classifier keyword + ML. English + Bahasa Indonesia. Latensi ~5ms. Dapat dikonfigurasi per policy group.

Conversational Guardrails

Konfigurasi YAML + aturan alur per policy group. Penegakan alur percakapan — memblokir topic steering, jailbreak, pengungkapan system-prompt.

Empat cara menangani PII yang terdeteksi

Setel pii_mode per API key atau policy group. Default-nya adalah redact.

redact (default)

// Input: "My email is [email protected]"
// Output: "My email is [REDACTED]"
 
// API key setting:
{ "pii_mode": "redact" }

tokenize

// Input: "My email is [email protected]"
// Output: "My email is <PII:EMAIL:tok_a1b2c3>"
 
// De-anonymized in the LLM response automatically.
// Reversible — original value recoverable via PIITokenMap.
{ "pii_mode": "tokenize" }

synthetic

// Input: "My email is [email protected]"
// Output: "My email is [email protected]"
 
// Generated substitute — realistic-looking, non-reversible.
{ "pii_mode": "synthetic" }

block

// Any detected PII → 403 Forbidden immediately.
// Request never reaches the LLM.
{ "pii_mode": "block" }

Lihat Proteksi PII untuk referensi mode lengkap.

Override default guardrail per API key

Kolom guardrail_overrides JSONB pada sebuah kunci API bisa melewati guardrail secara selektif, terlepas dari policy group-nya. Hanya PII dan moderasi konten yang bisa di-override per kunci — deteksi injeksi bersifat wajib.

// PATCH /anoman/v1/keys/{id}
{
  "guardrail_overrides": {
    "piiEnabled": true,
    "contentModerationEnabled": false
  }
}
 
// Priority stack (highest → lowest):
// 1. System forced (ops emergency)
// 2. Per-key guardrail_overrides
// 3. Policy group defaults
// 4. System defaults

Penegakan alur percakapan

Konfigurasikan lewat tab Guardrails di dashboard. Konfigurasi YAML + aturan alur disimpan per policy group dan di-cache berdasarkan config hash untuk performa.

# Policy group conversational-guardrail config
models:
  - type: main
    engine: openai
    model: gpt-4o
 
rails:
  input:
    flows:
      - self check input
  output:
    flows:
      - self check output
define flow self check input
  $allowed = execute self_check_input
  if not $allowed
    bot refuse to respond

define bot refuse to respond
  "I'm not able to respond to that."

Ikhtisar lengkap guardrails: Platform / Guardrails →

Amankan setiap panggilan AI dengan guardrails

Guardrails berjalan pada setiap request — real-time dan batch — sebelum model pernah dipanggil.

On this page