What Duely does with your mailbox

You are about to give a piece of software access to your email. That deserves a straight answer rather than a policy, so here is the whole of it in one page.

Last updated August 24, 2026.

The short version

  • Duely reads your mailbox only to match replies to invoices.

    That is the entire reason it has access. It is not scanning for anything else, and there is nothing else it does with what it reads.

  • It stores a snippet, never the message.

    Roughly the first three hundred characters of a reply, so you can see what was said without opening your inbox. Message bodies are never written to our database.

  • It never marks anything read, deletes, or moves anything.

    The connection is opened read-only and messages are fetched without touching their read flag. Your unread count is exactly as you left it.

  • Your mailbox password is encrypted at rest.

    AES-256-GCM, with the key held in the server environment rather than in the database. A stolen copy of the database does not contain a usable credential.

Sending

Duely connects to your outgoing mail server and sends the reminder as you. The message comes from your address, appears in your sent items where your provider keeps a copy, and is threaded onto the original invoice email so your client sees one conversation.

We keep the subject line and body of the reminders we sent, because you need to be able to see what went out in your name. We do not keep anything else that passes through the connection.

Reading

Every few minutes, Duely checks your inbox for new messages since the last time it looked. For each new message it reads the headers — who it is from, what it is replying to — and matches it against the chases you have running, in this order:

  1. The reply headers. If the message is a reply to something Duely sent, the headers say so outright.
  2. The provider thread. If your provider groups it into the same conversation, that is used next.
  3. The sender, recently. Failing both, a message from a client you are chasing, received within the last sixty days.

Subject lines are never matched on their own — too many unrelated emails share a subject, and a wrong match would stop the wrong chase.

Messages that match nothing are ignored and nothing about them is stored. Messages that do match produce one record: which chase it belongs to, whether it looked like a person, an autoresponder, or a bounce, when it arrived, and a snippet of about three hundred characters.

What Duely never does

The mailbox connection is opened in read-only mode, and messages are fetched with the peek instruction that leaves the read flag alone. Duely has no code path that issues a delete, a move, a copy, or a flag change — and there is a test that connects to a fake mail server, records every command Duely sends, and fails the build if any of those appears.

  • Mark a message as read
  • Delete or archive anything
  • Move anything between folders
  • Send anything you did not schedule
  • Store message bodies
  • Read mail unrelated to a chase

Your credentials

Mailbox passwords are encrypted with AES-256-GCM before they are written. The encryption key lives in the server's environment, never in the database, so a copy of the database on its own is not enough to decrypt anything. Each stored value carries its own initialisation vector and authentication tag, and a value that has been tampered with fails to decrypt rather than being used.

A password is decrypted in memory at the moment of sending or polling and discarded. It is never written to a log, never returned to your browser, and never rendered into a page — the settings screen shows a masked placeholder and only writes a new value if you type one.

We ask for an app password rather than your account password wherever your provider offers one, because you can revoke an app password without changing anything else. Revoking it removes Duely's access immediately, from your side, without asking us.

Your invoices and clients

Names, email addresses, invoice numbers, amounts and due dates — whatever you import or type. It is stored so Duely can write the reminders and know when to stop, and it is scoped to your workspace: every query is filtered by it, so nothing you do in Duely can reach another workspace's data, and nothing another customer does can reach yours.

Separately from that, Duely's operator can open an account's data to resolve a support issue. Both of those are true at once: workspace scoping governs every normal path through the product, and support access is a deliberate exception to it that exists so somebody can actually fix your problem when you write in. What that means in practice is worth reading, so it is set out in full below.

If you have not connected Stripe, Duely never touches money. Payments happen the way they always have, directly between you and your client. Marking an invoice paid tells Duely to stop; it does not tell us anything about how you were paid.

When we look at your account

Duely is run by one person. When you write in about a reminder that did not send, or an invoice that will not mark itself paid, answering you sometimes means looking at the account rather than guessing from a description. So there is a support tool that can open an account's data, and in some cases sign in as a user to see what they are seeing.

That is real access and we are not going to describe it as something smaller than it is. What makes it acceptable is what surrounds it.

Every access is recorded

Who looked, when, and the reason they gave — a reason is required before anything opens, and it is stored with the record. That record is written to your activity log, not only to ours. You can see it from your own account, without asking us and without us choosing to tell you. Nobody can delete those entries, including the person they are about.

Access is used to resolve a specific issue and nothing else. Not to browse, not to look at how you are doing, not to read your invoices out of curiosity.

Your mailbox password is never part of it

Stored mailbox credentials are never displayed and never decrypted for support purposes, under any circumstance. There is no screen, no export and no debug view anywhere in the support tool that shows them, masked or partial or otherwise. The only thing that ever decrypts an email password is the code that connects to your mail server to send a reminder or read a reply.

You handed over an email password. That one stays sealed.

Signing in as you is look-only

When support signs in as a user to reproduce a problem, that session cannot act. It cannot send email — no reminder, no test message, nothing that reaches your clients. It cannot start or advance a chase. It cannot change your billing or your plan. It cannot connect or disconnect Stripe. It cannot change your mailbox settings, delete anything, or invite anyone.

Those limits are enforced by the application, not by hiding buttons. The session also expires after thirty minutes and cannot be extended; carrying on means starting again with a new reason, which gets recorded like the first one.

If you connect Stripe

Connecting Stripe is optional, off unless you turn it on, and changes exactly one thing: Duely can put a payment link in your reminders so a client can pay from the email.

The money goes directly from your client into your own Stripe account. It never passes through an account Duely controls, and Duely is not the merchant of record — you are. Your payouts, your disputes, your refunds, your agreement with Stripe.

What Duely does receive is a message from Stripe saying a payment succeeded, which invoice it was for, and how much. That is what lets it mark the invoice paid and stop the reminders without you having to. It is the whole of Duely's involvement with the money, and it is the reason we do not claim never to see it.

Disconnecting revokes Duely's access at Stripe rather than just forgetting it here, so there is no authorisation left behind that you cannot see.

The writing assistant

If you ask Duely to help reword a reminder, the template is sent to Anthropic's API to be rewritten. Real client names, real invoice numbers and real amounts are stripped out first and replaced with the placeholder tags Duely fills in at send time, so what leaves the server is a form letter rather than anybody's data. Duely shows you what it removed.

Nothing is sent anywhere unless you press the button, and the result is shown to you as a suggestion — it is never saved into a live sequence on its own.

Reading an invoice you upload

Duely can read an invoice off a PDF or a photo so you do not have to type it in. This one works differently from the writing assistant above, and the difference matters enough to spell out.

To read the document, Duely sends the document itself to Anthropic. Whatever is printed on it goes too — your client's name, the amount, their address if it is on there. Nothing is stripped first, because the details are the thing being read.

So it is off until you turn it on. A workspace has to switch it on deliberately, after being told plainly what is sent, and can switch it off again at any time. If you never use it, no invoice document ever leaves this server.

  • The file is deleted as soon as it is read.

    It is held only for the seconds it takes to send, and never written to disk here.

  • Nothing is saved from it automatically.

    What comes back is filled into the invoice form for you to check. An invoice exists only once you save it.

  • Anthropic does not train on it.

    Duely uses the paid API, where inputs are not used to train models.

  • It counts against the same daily limit.

    Reading documents and rewriting reminders share one budget of twenty calls a workspace a day.

Billing

Card details are handled entirely by Stripe and never reach our servers. We store the identifiers Stripe gives us — a customer id and a subscription id — and what plan they entitle you to.

The waitlist

If you join the waitlist we store your email address, which form you used, any campaign parameters that were in the link, and a one-way hash of your IP address so we can spot a machine submitting hundreds of addresses. The raw address is not kept.

Nothing is added to the list until you click the confirmation link, so nobody can put your address on it but you. Every email we send from the list has an unsubscribe link, and unsubscribing is immediate.

Deleting your account

Disconnecting a mailbox removes the stored credentials straight away. Deleting your workspace removes your invoices, clients, chases, message history and reply records — the database is set up so that they go with it rather than being left behind as orphans. Backups age out on their own schedule; ask and we will tell you where that stands.

Questions

If anything here is unclear, or you want to know something this page does not cover, ask before you connect anything. A question about what we do with your mailbox is always a fair question.

Still want in?

Reading this page first is exactly the right instinct.

No password, no card. We email you a six-digit code to confirm the address.