Skip to content

Data Encryption for Self-Hosted AcelleMail

Self-hosting means your subscribers' data lives on your server, not a third party's — which puts encryption in your hands. Here's what actually matters: protecting data in transit, at rest, and in your backups, in plain terms, without a sysadmin wall.

What this is for

When you self-host AcelleMail, your subscribers' personal data lives in your database on your server — not on a third-party SaaS. That's the privacy win of self-hosting, and it puts encryption decisions in your hands. This article explains, in plain terms, the three places encryption matters and what's actually worth doing — without turning into a sysadmin manual.

If you want the hands-on server commands, those live in your platform's install guide; this page is the map so you know which ones matter and why.

The three layers

1. In transit — HTTPS on everything

Every admin login, subscriber export, and API call travels between a browser and your server. Encrypting that path with HTTPS (TLS) is the single most important, lowest-effort layer — without it, anyone on the network can read credentials and subscriber data in the clear.

Your install already sets up a free Let's Encrypt certificate, and AcelleMail can be told to insist on HTTPS (FORCE_HTTPS=true in .env). That's covered as Priority 1 of the Post-Install Hardening Checklist — do it before you put real subscribers on.

2. App secrets — your .env and APP_KEY

AcelleMail keeps its secrets (database password, mail credentials) in the .env file, and a unique APP_KEY encrypts session data and other sensitive values the app stores. Two things follow from that:

  • Protect .env. It should be readable by the web user and nobody else. (Hardening Priority 1.5.)
  • Never regenerate APP_KEY on a running install — anything already encrypted with the old key becomes unreadable. It's set once at install and left alone.

You don't manage application-level field encryption yourself — the framework handles it via APP_KEY. Your job is just to keep that key and the .env file safe.

3. At rest — disk and backups

"At rest" means data sitting on disk: the database files, uploaded assets, and your backups. Two practical options, in order of how often they matter:

  • Encrypted backups (do this). Backups are the copies most likely to leave your server — to S3, Backblaze, another machine. An off-site backup that isn't encrypted is your whole subscriber list sitting in someone else's storage. Encrypt backups before they leave the box. The Automated Database Backups guide covers the backup routine; encrypting the archive is a step within it.
  • Full-disk / volume encryption (for regulated data). If you handle health, financial, or other regulated personal data — or your own policy requires it — encrypting the whole volume the database sits on protects you if the physical disk or a cloud snapshot is ever exposed. Most cloud providers (AWS, DigitalOcean) offer volume encryption as a checkbox when you create the server; turning it on at creation time is far easier than retrofitting it later.

For a typical sender, HTTPS + protected .env + encrypted off-site backups is the right baseline. Full-disk encryption is the next tier up for regulated data.

Where this isn't AcelleMail's job

Encryption at the OS and database level (TLS certificates, encrypted volumes, encrypted backup archives) is configured on the server, not inside AcelleMail's admin panel — there's no "encryption" screen in the app, and you should be wary of any guide that invents one. The app's part is the HTTPS enforcement and the APP_KEY; everything else is your hosting setup, which your install guide walks through.

Common questions

Does AcelleMail encrypt subscriber emails in the database? Email addresses are stored so the app can send to them and de-duplicate — they aren't field-encrypted at rest by default (that would break search and sending). Protect them with disk/volume encryption and access control, not field-level encryption.

Is HTTPS enough on its own? It's the most important layer and the one to never skip, but it only protects data in transit. Pair it with protected secrets and encrypted backups for the full picture.

Do I need this for GDPR? Encryption is one of the "appropriate technical measures" regulators expect, but compliance is broader than encryption — see the GDPR Compliance Guide.

Related articles

6 comments

4 comments

  1. Marcus
    For HIPAA — is AcelleMail considered a Business Associate? Looking at whether we need a BAA.
    1. Admin
      On a self-hosted install we're not a Business Associate, because we never touch your data. You get a licensed PHP app, it runs on your server, your database, and no subscriber or campaign content is transmitted to us. There's nothing for us to sign a BAA against. Where you do need BAAs is downstream. Your sending server is the one actually handling the email content, so whoever that is (SES, SendGrid, Mailgun, your own postfix) is in scope. AWS and SendGrid both offer BAAs. Same goes for the box itself if it's on someone else's infrastructure. Caveat worth flagging: if you enable any of the plugins that call out (the AI plugin against a hosted engine, or a third-party verification vendor), those become sub-processors and need their own review. Self-hosted with those off is a closed system. I'm not going to pretend to give you a compliance opinion, get your counsel to confirm the scoping. But the vendor question specifically has a clean answer: no BAA needed with us on self-hosted.
  2. Quân
    The GDPR data-export article is what I sent to our DPO. Saved us a meeting.
  3. Anna
    Passed a SOC 2 audit last quarter using this as part of our documentation set. Auditors specifically noted the data-flow diagram was helpful. anyway
    1. Admin
      Good to know the data-flow diagram held up under audit. That was the part I nearly cut for being too basic, so that settles it. If your auditors asked for anything the diagram didn't cover, at-rest key rotation and where the DB credentials live are the two gaps I suspect, tell me and I'll extend it.
  4. Chen
    add audit logging for every admin action. we added a small middleware that logs to s3 — invaluable when answering compliance questions retroactively.

More in Security & Compliance