Platforms
Intercom
Guard AI support replies and redact customer PII before it is stored.
About 5 minutes hands-on
What this guide does not cover
- Guards message content. It does not manage Intercom permissions, seats, or data-retention settings.
- Text already stored in Intercom before you integrated is out of scope — this guards new messages only.
Integration pattern
1. Guard user messages before they reach the AI assistant
2. Guard AI-generated replies before they reach customers
3. Redact PII/secrets before saving examples for review
4. Use monthly reports for security evidence and compliance
Environment
Terminal
SOTER_API_KEY=ck_live_your_key_here
# SOTER_BASE_URL is optional if using the SDK — a default is includedAPI usage (server-side)
TypeScript
1// Guard incoming customer message (server-side)
2const inputResult = await fetch(`${process.env.SOTER_BASE_URL}/api/guard/input`, {
3 method: "POST",
4 headers: {
5 "x-api-key": process.env.SOTER_API_KEY,
6 "Content-Type": "application/json",
7 },
8 body: JSON.stringify({ message: customerMessage }),
9}).then((r) => r.json());
10
11if (inputResult.action === "BLOCK") {
12 // 🛑 Block unsafe messages before AI sees them
13 return { reply: "I couldn't process that request.", blocked: true };
14}
15
16// Guard AI-generated reply before sending to customer
17const outputResult = await fetch(`${process.env.SOTER_BASE_URL}/api/guard/output`, {
18 method: "POST",
19 headers: {
20 "x-api-key": process.env.SOTER_API_KEY,
21 "Content-Type": "application/json",
22 },
23 body: JSON.stringify({ aiResponse: aiReply }),
24}).then((r) => r.json());Best practices
Use separate projects per client
Isolate data with distinct SoterAI projects per brand or client.
Always guard output too
Run the output guard on AI drafts before they reach customers.
Redact audit logs
Store only redacted/guarded text in audit logs, never raw text.
Use webhooks
Configure webhooks for real-time blocking alerts.