AgentMail's SOC 2 compliance, email authentication, and spam and virus protection.
How AgentMail protects your data and your mail: SOC 2 Type I and Type II compliance, the email authentication protocols behind every domain, and the automatic scanning applied to every inbound message. For procurement, legal, or security-review requests, see Requesting documents at the end of this page.
SOC 2 is an attestation standard by AICPA (The American Institute of Certified Public Accountants) evaluating controls over:
Security - Protection against unauthorized access, both physical and logical
Availability - System accessibility and operational performance as committed
Processing Integrity - System processing is complete, valid, accurate, timely, and authorized
Confidentiality - Information designated as confidential is protected
Privacy - Personal information is collected, used, retained, disclosed, and disposed per privacy commitments
There are two report types:
Type I: Verifies that security controls are properly designed at a point in time.
Type II: Validates that controls operate effectively over a period (typically 6–12 months).
AgentMail’s SOC 2 Type I and Type II reports confirm that our security infrastructure is properly designed, implemented, and operates effectively over time.
AgentMail completed the Type II observation period (August 2025 - December 2025) and received full SOC 2 Type II certification in Q1 2026 from an independent CPA firm.
What was validated:
Continuous Operation: Controls functioned consistently without gaps
Change Management: Security maintained through system updates and changes
Evidence Collection: Logs, tickets, training records, access reviews
Incident Handling: Real-world response to security events
SOC 2 Type II certification provides the highest level of assurance that AgentMail’s security controls are not only well-designed but also operate effectively over time.
When you add a custom domain to AgentMail, we ask you to add several records to your DNS settings. We understand that this can seem daunting, and we want to be completely transparent about what these records are and why they are necessary.
In short, by adding these records, you are giving AgentMail permission to do two things:
Send emails on your behalf that are trusted and pass spam filters.
Receive emails for you so your agents can process them.
This process is standard practice for any third-party email service, and it does not give us control over your website or any other part of your domain. Let’s break down what each piece does.
To prevent spam and phishing, the modern email ecosystem relies on these three core technologies. Our goal is to handle all the complexity of these protocols for you. Your DNS records are simply the way you tell the world that you’ve authorized us to do so.
What it is: Think of SPF as a public list of all the servers that are allowed to send email for your domain.
How it works: You add a TXT record to your DNS that lists the approved IP addresses or domains. When an email server receives a message from you@your-domain.com, it checks the SPF record for your-domain.com. If the server that sent the email is on that list, the check passes.
This record tells the world that AgentMail is an authorized sender for the mail.domain.com subdomain. AgentMail sends through Amazon SES, which is why the record authorizes amazonses.com rather than an AgentMail hostname. The -all part suggests that any server not on this list should be considered unauthorized.
What it is: DKIM is like a digital signature for your emails. This signature proves two things: that the email actually came from your domain and that its content hasn’t been messed with in transit from you to who you are trying to send to.
How it works: We generate a unique, secure key for your domain. When we send an email, we “sign” it with this key. The public part of that key is published in your DNS. Receiving servers use this public key to verify the signature.
AgentMail gives you a custom DKIM selector host and TXT value. Publishing the key directly at that selector gives receiving servers a precise public key to verify signatures from your domain.
Legacy orgs should keep existing working DNS records in place. For new domain setup, add the TXT selector records AgentMail returns.
What it is: DMARC is the policy that ties SPF and DKIM together. It tells receiving email servers what to do if an email claims to be from you but fails the SPF or DKIM checks (or both).
How it works: You publish a TXT record that specifies your policy. You can tell servers to reject the message, quarantine it (mark as spam), or do nothing. It also allows you to get reports on which emails are passing and failing these checks.
We typically tell servers to reject the message as this increases deliverability.
This policy tells servers to reject any email that fails authentication. The rua tag specifies that aggregate reports about these failures should be sent to dmarc@agentmail.to, allowing us to monitor your domain’s health and deliverability on your behalf.
Finally, MX (Mail Exchange) records tell the internet where to deliver your agents’ email.
What they are: MX records are the post office address for your domain’s email.
How they work: When someone sends an email to your-agent@your-domain.com, their mail server looks up the MX record for your-domain.com to find out where to send it.
The hostnames are AWS ones because AgentMail’s mail infrastructure runs on Amazon SES. The first record directs all incoming mail for your domain to our servers, so we can ingest it and trigger your agents. The second feedback-smtp record is specifically for routing automated feedback, like bounce and complaint notifications from other mail servers, which is crucial for maintaining a healthy sender reputation.
AgentMail automatically scans every inbound message for spam and viruses before it reaches your inbox. This happens transparently; there is nothing you need to configure.
Emails that contain viruses or malware are rejected at the gateway and are never stored. Your inboxes will never contain a message flagged as infected. This protects your agents from processing potentially dangerous content.
Emails identified as spam are still stored in your inbox so you never lose a message that might be a false positive. However, they are excluded from API results by default to keep your agent’s workflow clean.
When you call the List Threads or List Messages endpoint, spam messages are filtered out unless you explicitly request them.
To include spam in your results, pass the include_spam (includeSpam in TypeScript) parameter when listing threads.
# list threads including spamagentmail inboxes:threads list \ --inbox-id <id> \ --include-spam
Each thread object includes a spam label indicating whether it was flagged as spam, so you can handle flagged threads differently in your application logic.
Example spam thread
{ "thread_id": "thread_abc123", "subject": "You have won a prize!", "labels": ["spam"], "from": "suspicious@example.com", "to": ["your-agent@your-domain.com"]}