Alex Rivera
Security Lead, Engium · Sep 28, 2024
Every SMB that feeds customer conversations into an AI model is making an implicit trust agreement. Understanding where your data goes — and how to protect it — is no longer optional when customers expect enterprise-grade privacy from day one.
The Threat Landscape
The most common attack vectors against AI-integrated business platforms are prompt injection (users crafting inputs to override system instructions), training data extraction (reverse-engineering proprietary content from model outputs), and credential exfiltration via insecure integration tokens.
Engium mitigates prompt injection through a structured input sanitisation layer that separates user content from system context before it reaches the model. This alone eliminates the most prevalent class of SMB-level AI exploits.
Data Privacy by Design
Privacy-by-design means that tenant isolation is enforced at the database query level — not just the application level. Every AI inference call is scoped to a single tenant's embeddings, ensuring no cross-contamination is possible even during infrastructure failures.
- 01.Tenant-scoped embeddings: each tenant's vectors are stored in separate partitions
- 02.No model training on customer data — inference only
- 03.Encrypted credentials at rest using AES-256
- 04.Webhook signature validation on all inbound events
SOC2 Compliance
SOC2 Type II certification requires continuous monitoring of security controls over a 12-month audit period. For AI workloads, the critical controls are access logging, data retention policies, and incident response procedures.
"Ask every AI vendor for their subprocessor list. If they can't provide it within 24 hours, that's your answer."
Engium maintains an up-to-date subprocessor register and provides DPA (Data Processing Agreement) templates for customers who require them. GDPR and CCPA compliance is built into the platform architecture, not bolted on.
Best Practices
Audit Logging
Every mutation — booking created, conversation escalated, setting changed — is written to an immutable audit log with the acting user ID, tenant ID, timestamp, and request IP. Engium's AuditLoggingMiddleware handles this automatically for all API routes.
Was this helpful?

