Data inventory · Updated October 2026
Data & Privacy
MarkRelay runs in your own Cloudflare account, your own cloud account rather than ours. Mailboxes, messages, attachments and contacts are stored in the D1 database and R2 bucket in your own Cloudflare account. MarkRelay never receives your email, attachments or contacts. This page lists each kind of data, where it is stored, and who can see it.
This page is about the data inside your deployment. The Privacy Policy covers markrelay.com itself: its visitors, customers and purchases.
Where each kind of data is stored
Your deployment has one D1 database and one R2 bucket, both in your Cloudflare account. D1 keeps what lists, search and threading need; R2 keeps message bodies, files and designs.
| Data | Where it is stored | Who can see it in MarkRelay |
|---|---|---|
| Domains and mailboxes | D1 | Administrators manage them; members see the mailboxes granted to them |
| Messages: index (sender, recipients, subject, snippet, folder, read and starred state, thread) | D1 | People and API keys granted the mailbox, and administrators |
| Messages: body, headers, Cc/Bcc and authentication results | R2, one object per message | Same as above |
| Attachments | R2 (file) and D1 (name, type, size) | Same as above |
| Drafts | D1 and R2, like any other message, in the Drafts folder | People with access to the mailbox |
| Folders | A folder field on each message in D1 (Inbox, Starred, Drafts, Sent, Spam, Archive, Trash) | People with access to the mailbox |
| Templates | D1 (name, subject, sharing) and R2 (the design) | Their creator, and whoever they are shared with |
| Broadcasts: settings and content | D1 (name, sender, schedule, tracking switches) and R2 (the message content) | The broadcast's creator, and administrators |
| Broadcast recipients (your contacts) | R2 (the imported list) and D1 (one delivery row per recipient, with its columns and results) | The broadcast's creator, and administrators |
| Opens and clicks | D1, on each recipient's delivery row, only for broadcasts with tracking turned on | The broadcast's creator, and administrators |
| Suppression list (unsubscribes, bounces, complaints, manual blocks) | D1 | Administrators |
| Send and receive logs | D1, deleted automatically after 90 days | People with access to that mailbox, and administrators |
| People: accounts, sessions and mailbox grants | D1 | Each person their own; administrators everyone's |
| API keys | D1, with their owner, scope, status and last-used time | The key's owner, and administrators |
| Webhooks: destination URL, scope and signing secrets | D1 | The webhook's owner, and administrators |
Anyone with access to your Cloudflare account can also open the D1 database and R2 bucket in the Cloudflare dashboard, so keep that account to the people who run the deployment.
What Cloudflare processes
| Cloudflare product | What it does for MarkRelay |
|---|---|
| Email Routing | Receives mail for your domains and hands each message to your MarkRelay Worker. |
| Email Sending | Sends your replies, new mail and broadcasts from your own domains. |
| Workers | Runs the MarkRelay app, its API, webhooks and scheduled jobs. |
| D1 | The database described above. |
| R2 | The storage described above. |
What Cloudflare says about it, in its own words:
- Email Routing: “Cloudflare does not store or access the content of your emails.” (Email Routing)
- Cloudflare shows routing activity, including sender, recipient, subject and status, in the Email Routing activity log and analytics (Email Routing analytics).
- For sent mail, previews “are retained for about seven days” while Email preview is on for the sending domain; it is on for new sending domains (Email activity log).
Your mail passes through Cloudflare's network on its way in and out. MarkRelay does not add any promise on Cloudflare's behalf; read Cloudflare's own pages for how it handles that traffic.
What MarkRelay receives
MarkRelay never receives your email, attachments or contacts; your deployment only contacts markrelay.com to check its license.
Mail sent to webhook destinations
A webhook sends mail from the mailboxes it covers to the destination its owner chooses: the full message to a custom endpoint, or the sender, mailbox, subject and a short preview to a team chat such as Slack or Feishu/Lark. What arrives there is kept under that service's own terms. See Inbound webhooks.
Tracking
Broadcast open tracking and click tracking are off by default; you turn them on per broadcast. When tracking is on, opens and clicks are recorded by your own deployment and stored in your own database, not by a third-party tracking service: the pixel is served from /api/mail/track/open and links redirect through /api/mail/track/click on your own deployment. A cloned broadcast keeps the tracking settings of the one it was cloned from. Mail sent from webmail and the API is never tracked. See a newsletter without tracking.
Images in received mail
Remote images in received mail load through your own deployment, so senders' tracking pixels don't see the reader's IP address or browser. Your deployment fetches the image and passes it to the browser.
Access
Each person sees only the mailboxes they are granted; administrators can open every mailbox. API keys and webhooks belong to a person and reach only the mailboxes granted to them, narrowed further to one domain or selected mailboxes if you choose. That includes an AI agent's key: an agent only sees mail if you connect one, and only the mailboxes its key is granted. No built-in AI reads your mail. See Members & access and giving an agent one mailbox.
Retention
- Send and receive logs are deleted automatically after 90 days.
- Everything else stays in your D1 database and R2 bucket until you delete it.
- Cloudflare's own logs and previews follow Cloudflare's retention, described above.
Your responsibilities
You run the deployment, so you decide who can use it and what is sent from it. Every broadcast includes one-click unsubscribe (RFC 8058); unsubscribes, hard bounces and complaints are suppressed automatically. You are responsible for collecting consent where it is needed, for honoring unsubscribes, and for following the laws where you and your recipients are, such as CAN-SPAM and GDPR, and Cloudflare's Email Service terms. See Broadcasts and Deliverability.
Common questions
Can MarkRelay read my email?
No. MarkRelay never receives your email, attachments or contacts. They are stored in the D1 database and R2 bucket in your own Cloudflare account, and your deployment only contacts markrelay.com to check its license.
Is Cloudflare Email Routing private? Does Cloudflare read or store my emails?
Cloudflare says Email Routing does not store or access the content of your emails. It does show routing activity (sender, recipient, subject and status) in its activity log and analytics. For mail you send through Email Sending, Cloudflare keeps previews for about seven days while Email preview is on for the sending domain. Read Cloudflare's own pages for the details.
How long is my data kept?
Send and receive logs are deleted automatically after 90 days. Everything else, including messages, attachments, recipient lists and the suppression list, stays until you delete it.
Does any AI read my mail?
No built-in AI reads your mail. An AI agent only sees mail if you connect one, and only the mailboxes its key is granted.
Is this the same as the markrelay.com privacy policy?
No. The privacy policy covers markrelay.com itself: visitors, customers and purchases. This page covers the data inside your own MarkRelay deployment.
Next: private email in your own cloud account, a newsletter without tracking, or one mailbox for an AI agent.