Why Iris

Infrastructure, not a mail product.

Most mail services start as a way to send a message and end as a marketing tool. Iris is built to stay the layer mail travels through, because the mail it carries is the mail that can least afford to be anything else.

The drift

It happens one reasonable step at a time. First, stored templates, so the wording can change without a deploy. Then HTML. Then hosted images for the HTML. Then an open-tracking pixel, because the images are already there. Then click tracking, then reports, then lists to send the reports about. Each step makes sense on its own. Together they turn the service that delivers your password resets into a newsletter platform, with a newsletter platform’s priorities.

Iris takes none of those steps, and says so in four rules a calling system can rely on.

Four rules

1. Iris sends the bytes it was given

It never rewrites a body: no tracking pixel, no rewritten links, no footer it added. In transactional mail this is a security property, not a matter of taste. A password-reset link is a credential. A link rewritten for click tracking sends that credential through a redirect, and into somebody’s logs.

2. Iris holds no content

No templates, no hosted images, no stored assets. A message’s body, attachments and custom headers are dropped as soon as it is sent or has failed: they carry reset links and one-time codes. The wording belongs to the system that sends it, versioned and reviewed with that system’s own code.

3. Iris has no audience

A message has its recipients and is sent once. Iris has no lists, segments, campaigns, schedules or unsubscribe management, so there is nothing in it that could send a thousand people something by mistake.

4. Iris reports what it and the provider did, never what the reader did

Admitted, accepted by the provider, failed and why. A bounce is a fact about delivery and belongs here. An open or a click is a fact about a reader, and does not.

Where campaigns go instead

A product that does want lists, an editor, campaigns and tracking is a separate application that sends through Iris, as a tenant of its own, with its own senders and its own sending domain. It adds its own pixel and its own links, and Iris carries them unchanged, because the rules bind Iris, not its callers.

Keeping them apart protects your sign-in mail

A newsletter’s complaints land on the newsletter’s domain, not on the domain your password resets depend on.

The test for any feature

Is it about carrying mail, or about its content or audience? The first may belong in Iris. The second never does. That one question is why Iris is small, and why it will stay small.