Security Policy — detailed controls
01Overview
hiroi is committed to maintaining the security, availability, and confidentiality of the hiroi omni-channel AI agent platform and the data it processes. This includes account data, contact records, call recordings, transcripts, SMS content, email campaigns, and Microsoft 365 integration data. Our security controls are designed to align with SOC 2 Trust Service Criteria.
02Infrastructure security
2.1 Hosting
- Containerized deployment using Docker on Azure Container Apps for isolation and reproducibility
- Application runs behind Cloudflare CDN (SaaS) with TLS termination and DDoS protection
- Network segmentation between application, database (Azure SQL Database), telephony (ACS), and cache layers
- Infrastructure hosted in Azure US East 2 region
2.2 Network security
- All external traffic encrypted with TLS 1.2 or higher (TLS 1.3 preferred)
- Content Security Policy (CSP) headers enforced
- HTTP Strict Transport Security (HSTS) enabled
- Cloudflare WAF (SaaS) for application-layer attack prevention
2.3 Database security
- Azure SQL Database with authentication required for all connections
- Database accessible only from the application network
- Automated encrypted backups with point-in-time recovery
- Connection strings stored in Azure Container Apps environment secrets, never in code
2.4 Telephony security
- Azure Communication Services (ACS) for all voice calls and SMS
- Inbound call webhooks validated with HMAC signature verification
- Call recordings stored encrypted; access restricted by organization membership
03Application security
3.1 Authentication
- Microsoft OAuth 2.0 (Entra ID): Secure enterprise authentication
- Passkeys (WebAuthn): Phishing-resistant passwordless authentication
- Magic links: Time-limited, single-use email tokens
- Two-factor (TOTP): Second-factor authentication support
- Sessions managed server-side with HttpOnly, Secure, SameSite cookie attributes
3.2 Authorization
- Role-based access control (user, admin, organization member)
- Resource-level authorization (IDOR prevention via JOIN queries requiring org membership)
- API key scoping (widget-specific, non-transferable)
- Organization-level data isolation
3.3 Input validation
- Server-side validation on all inputs
- Parameterized database queries (SQL injection prevention)
- CSP headers (XSS prevention)
- CSRF protection on all state-changing operations
- Webhook payload signature verification before processing
3.4 Rate limiting
- Redis-backed rate limiting on all API endpoints
- Per-user and per-IP rate limits
- Graduated limits for authentication endpoints
- Widget chat and calling endpoints rate-limited per visitor/caller
04Data security
4.1 Encryption
- In transit: TLS 1.2+ (TLS 1.3 preferred) for all communications
- At rest: AES-256 encryption for database storage (provided by Azure SQL TDE)
- Recordings: Encrypted at rest in Azure Blob Storage with managed keys
- Secrets: API keys hashed with PBKDF2-SHA256; 2FA secrets encrypted with Fernet encryption
- Backups: Database backups encrypted at rest using provider-managed keys
4.2 Access controls
- Principle of least privilege for all system components
- No shared accounts or credentials
- API keys generated with sufficient entropy
- Server secrets never exposed to client-side code
05Widget security
The embeddable chat widget supports two authentication modes:
- Domain safelist: Origin header validation with exact domain matching
- Session signed: HMAC-SHA256 signed tokens with configurable TTL
Neither mode exposes API keys or secrets in the browser. Signed tokens are site-specific and expire.
06Telephony & messaging
- All inbound call events from ACS validated using event grid signature verification
- A2P 10DLC registration required for US SMS traffic
- SMS content never logged in plaintext in application logs
- Opt-out keywords (
STOP,UNSUBSCRIBE) processed automatically and irreversibly - Provisioned phone numbers are organization-scoped
07Operational security
7.1 Monitoring and logging
- Comprehensive activity logging for all user and AI agent actions
- Security event logging (auth failures, unusual activity)
- Campaign and telephony logs for compliance audit
- Audit trail preserved (anonymized) for a configurable retention period (default 90 days) after account deletion
7.2 Incident response
7.3 Vulnerability management
- Dependencies monitored for known vulnerabilities via automated scanning
- Security patches applied promptly
- Responsible disclosure program for external researchers
08Retention & disposal
Data is retained according to our Privacy Policy retention schedule. When data reaches end of retention:
- Personal data is permanently deleted or anonymized — not archived
- Call recordings are securely deleted from storage
- Backup copies are removed within the backup rotation cycle
- Deletion is logged in the audit trail
09Business continuity
- Automated database backups with point-in-time recovery
- Container-based deployment enables rapid recovery and rollback
- Cloudflare CDN (SaaS) provides geographic redundancy for edge traffic
- Campaign state is durable: paused campaigns resume from last completed step after recovery
10Compliance alignment
10.1 SOC 2
Our controls are designed to align with AICPA SOC 2 Trust Service Criteria across Security, Availability, Processing Integrity, Confidentiality, and Privacy.
10.2 GDPR
Data processing agreements with all sub-processors; data subject rights (access, portability, erasure, restriction, objection); consent management; 72-hour breach notification.
10.3 TCPA / CAN-SPAM
Automatic opt-out processing for SMS; do-not-contact flags that cannot be overridden by campaigns; unsubscribe link support; scheduling controls to prevent calls/SMS during restricted hours.
11Reporting vulnerabilities
If you discover a security vulnerability, please report it to security@hiroi.ai. We will:
- Acknowledge receipt within 48 hours
- Provide an initial assessment within 5 business days
- Keep you informed of remediation progress
- Not take legal action against good-faith security researchers acting within responsible disclosure guidelines
12Contact
For security-related inquiries:
hiroi — Security team
Email: security@hiroi.ai