Skip to content

Security scanning

Opt-in prompt-injection and jailbreak detection at the gate, scanned before dispatch. Three modes: off | log | block. off skips the scan. log records findings without blocking traffic. block refuses detected attacks and fails closed when Prompt Guard is unavailable or classification fails or is incomplete. No automatic model fallback.

Security always uses Llama Prompt Guard 2 86M (sluis/prompt-guard-2-86m), inside Sluis without external transfer of scan text. EUR 0.01 per completed logical scan, once regardless of windows or verdict, including sampled-safe results; no token surcharge. Off, preflight refusals and technical failures are not charged. Overlapping windows of at most 512 model tokens preserve segment boundaries, within the configured total scan budget of 4096 to 65536 tokens. The fixed detection threshold is 0.8. Scanning follows data protection, which can retain personal data when off or logging-only. Scans add latency and have bounded deadlines. Long inputs use selected excerpts; a safe result covers only inspected text, not the full input. Audit records inspected and total bytes. Built with Llama. Meta Llama 3.1 Community License.

Security: configure prompt-injection scanning.
Security: configure prompt-injection scanning.English interface · illustrative demo data. Open the image for full size.

Each scan has a separate, linked billable audit entry: sec:injection:<score>. Charges can still apply when the parent request is blocked or served from cache. Workload overrides can change the scan mode. Separately, optional Nemotron privacy inspection uses Nebul under your residency policy and is token-priced.

Separately, opt-in key-behaviour anomaly detection runs as a background job with zero request latency: per-key baselines from robust statistics with hour-of-week seasonality, plus a multivariate isolation-forest layer. Alerts are explainable, never a bare score, and land in the Console's Security view, optionally by email.

Verify the seal

Every call appends an entry to the hash chain. Pull the chain and re-verify it offline, each entry's hash is sha256(prev_hash + record), so any altered field downstream breaks every link after it.

curl https://api.sluis.ai/v1/audit/export?from=genesis \
  -H "Authorization: Bearer $SLUIS_KEY" | sluis verify -

# → 18,442 entries · chain intact · head #4f9c2a ✓