Security
Automate Admits handles real conversations with real people, and we treat that data with care. This page describes the specific technical and organizational measures actually in place — not aspirations. Where a control is not yet implemented, we say so. Security is ongoing work and we improve these practices over time.
Infrastructure
The Automate Admits application, database, and storage, including all protected health information (PHI), run on Amazon Web Services under a signed business associate agreement. The application runs on ECS Fargate; the database is Amazon RDS for PostgreSQL in a private subnet with no public network access; files, call recordings, and backups are stored in Amazon S3. Automated replies are generated within AWS as well, with AI models on Amazon Bedrock (see AI processing below).
Our public marketing site is delivered through Cloudflare for DNS, CDN, and DDoS protection; no PHI is stored on or processed by Cloudflare. Each customer organization's data is logically isolated within our multi-tenant database and scoped to that organization on every request. We run an automated tenant-isolation audit over the codebase as part of every release: any database query that touches customer data and is not scoped to an organization fails the build until it is explicitly reviewed.
Encryption
- In transit. All traffic to and from the Service is served over HTTPS/TLS, with HTTP Strict Transport Security set to one year. Requests over plain HTTP are redirected to HTTPS. Database connections require TLS — the server refuses unencrypted connections. Our S3 buckets deny any request that does not arrive over TLS. Communication with every third-party service we rely on takes place over encrypted connections.
- At rest. The database, object storage, and backups are encrypted with an AWS KMS customer-managed key with automatic key rotation enabled. S3 buckets additionally have public access blocked and object versioning enabled.
- Query logging is off. The database is configured not to log statement text, so PHI passed as query parameters does not land in log files.
Authentication & access control
- Passwords are never stored in plain text. They are stored only as a PBKDF2-SHA256 hash with a per-user random salt and 100,000 iterations, so the original password cannot be recovered from our records.
- Two factor authentication via TOTP authenticator apps (RFC 6238, compatible with 1Password, Google Authenticator, Authy, and Apple Passwords) with single use hashed recovery codes, or emailed verification codes. It is required for the platform administrator and for every account created since the September 25, 2026 release. Owners and admins with older accounts must turn it on within 30 days of that release, or within 30 days of being made an owner or admin. Other older accounts may turn it on at any time.
- Brute-force protection. Failed sign-in attempts are recorded and an account is temporarily locked after repeated failures.
- Role-based access. The Service has five roles with distinct permissions, so teammates only get the access their job requires.
- Sessions use a random, HTTP-only, secure session token that is stored only as a hash and expires. We do not use advertising cookies.
- Channel tokens (Facebook Page tokens, Instagram tokens) are scoped to the connecting organization, kept in our encrypted database, and deleted when a channel is disconnected (the Facebook Page's webhook subscription is also removed at Meta).
- Least privilege internally. Access to production systems is limited to the people who need it to operate and support the Service.
Audit logging
Sign-ins, permission and role changes, channel connections, and access to patient records are written to a per-organization activity log that administrators can review in the app. The activity log is retained for six years, in line with the HIPAA requirement to retain audit records for that period.
Application security
Application page responses are served with a Content-Security-Policy (no unsafe-eval, frame-ancestors 'none', object-src 'none'), X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Referrer-Policy: strict-origin-when-cross-origin (or no-referrer on patient scheduling links), and a restrictive Permissions-Policy (camera=(), microphone=(self), geolocation=()), while normal API responses include Strict-Transport-Security, X-Content-Type-Options: nosniff, and Referrer-Policy. Incoming webhooks from Meta and Telnyx are signature verified before we act on them, so we only process payloads that genuinely originate from the platform.
Backups & recovery
The database is backed up automatically on a daily schedule, with point in time recovery available within the 14 day retention window. Cross region disaster recovery database backups are replicated to a secondary US region (us-west-2) under a dedicated customer managed KMS key in that region.
AI processing
To generate an automated reply, the contact record and the recent conversation transcript, including any images the contact sent, are sent over an encrypted connection to AI models on Amazon Bedrock, within AWS and under our business associate agreement with AWS. AWS does not use this data to train models and does not share it with the companies that develop the models. Our requests start in the AWS US East (N. Virginia) Region, and AWS may route a request to another AWS commercial Region to process it, which can be outside the United States. The data stays on the AWS network and is encrypted in transit. You control whether automated replies are enabled and can take over any conversation manually at any time. See our Trust page for the full picture.
Subprocessors
We publish the complete subprocessor list, what each one receives, and whether a business associate agreement is in place, on our Trust & Compliance page. In summary: Amazon Web Services (including Amazon Bedrock, which runs the AI agent), Paubox, and Stedi handle PHI under a BAA. Meta, Telnyx, Apple, and Anthropic can receive information that may constitute PHI and are not covered by a BAA with us. Meta, Telnyx, and Apple are each tied to an optional feature you can leave disabled; Anthropic provides an AI assistant that our own staff use when investigating a support request or a problem; it can see only the parts of a conversation or contact record needed for that investigation and is never used to generate automated replies. Cloudflare and Stripe receive no patient data.
Data retention & deletion
Contacts, conversations, messages, call recordings, and transcripts are retained until deleted — there is no automatic expiry on this data. You can delete a contact or conversation from the app at any time, disconnect a channel at any time, and request deletion of your account and associated data. Security activity logs are retained for six years to meet HIPAA audit-record requirements. Full details and contact addresses are in our Privacy Policy.
What we have not done yet
We would rather you hear this from us than discover it in diligence:
- We do not hold a SOC 2 report. We are formalizing the controls needed to pursue one.
- We have not commissioned an independent third-party penetration test.
- We do not hold business associate agreements with Meta, Telnyx, Apple, or Anthropic; see above.
- The Service does not provide 42 CFR Part 2 consent management; see our Part 2 statement.
Your responsibilities
Security is shared. We recommend enabling two-factor authentication, using a strong and unique password, limiting team access to those who need it, removing teammates promptly when they leave, reviewing the activity log periodically, and disconnecting channels you no longer use.
Reporting a vulnerability
If you believe you've found a security issue, please email admin@automateadmits.com with the details and steps to reproduce. We appreciate responsible disclosure and will work with you to confirm and address valid reports. Please don't access or modify other users' data, degrade the Service, or publicly disclose an issue before we've had a chance to fix it.