MonthAudit private beta ← Back home
Notice · Plain language

Privacy notice.

Pilot scope
Forwarding‑address pilot · May 2026 onward
Last updated
August 27, 2026

The short version

  • Month Audit is a small pilot. You forward receipts to a single shared address; we email weekly and monthly summaries back.
  • Forwarded receipts are read by Claude (Anthropic's model) running inside AWS Bedrock, parsed into structured records, and used to generate your summaries. Any PDF we can open also goes to that model to be told apart from a statement, which happens even before you confirm. A password‑protected one, one larger than about 20 MB, and any after the tenth PDF we actually send from one message never reach it. Most of this stays inside Amazon Web Services — see who we share it with for the exceptions.
  • Raw forwarded emails are kept 30 days, then truncated to parsed records — and statement PDFs you forward are kept for the same 30 days, counted from when we store them. What we extract from a statement, once we start doing that, stays until you delete your account — the PDF goes at 30 days, what we extract from it does not. Parsed records are kept until you ask us to delete them. Summaries are kept 12 months rolling.
  • We don't sell your data, share it with advertisers, or use it to train any AI model. Bedrock‑with‑Anthropic is configured so your data is not used for model training.
  • We don't ask for or require bank credentials, credit card numbers, or government IDs, and nothing in the service needs them — but we also don't scan what you forward — receipts or statements — to strip one out if it happens to appear — see What data we collect.
  • So we can debug bad results, we log what we send to the model and what it sends back. That log includes what we send and what comes back — the text of the forwarded email, and whatever AWS keeps of any photographs or PDFs that went with it. A statement PDF is sent to the model the same way, so whatever AWS keeps of that exchange is kept the same way too. It's kept 30 days. If you delete your account, these logs age out on their own 30‑day clock rather than vanishing immediately. One exception: if you email us again after deleting your account, that message is still classified before we recognise the account is gone, which creates one more log entry either way. A non‑receipt message is then dropped without reply; one we recognise as a receipt from its own subject and text starts a fresh subscription, with a confirmation email you must reply confirm to before anything is parsed. One sent as just an attachment with little else written may not be recognised.
  • You can pause, resume, or delete everything by replying in plain English to any email from us — no special keywords. For deletion, we'll send a one‑time 6‑digit code to confirm; this defends against someone spoofing your email address.
  • The summary emails we send include a small open‑tracking pixel (via AWS SES) so we can see whether emails are being opened. You can block it by disabling remote image loading in your email client — see Cookies and Tracking.
  • This is a pilot, currently operated by an individual rather than a company. See “Who is the data controller?” below.

Who is the data controller?

Month Audit is currently operated by an individual based in Dubai, United Arab Emirates, as a sole proprietorship pilot project. The operator's full legal name is provided in writing on request to verified data‑rights requests at hello@monthaudit.com, and to any data‑protection authority on request.

If incorporation occurs before or during the pilot, this notice will be updated to name the legal entity as controller, and active users will be notified by email.

Contact: hello@monthaudit.com

What data we collect

When you first forward a receipt to review@receipts.monthaudit.com:

When you reply to our confirmation email or any later email from us:

When you forward more receipts (after confirmation):

When you forward a bank or card statement:

Derived from the emails you send us (we don't ask you for these, and you don't type them in):

When we send your weekly pulse or monthly review:

After you delete your account:

What we do NOT ask for or require:

One thing to be aware of. We process forwarded receipts as you send them, and PDFs you forward — statements included — usually go to the model to be told apart from a receipt, with the exceptions listed above. We do not scan for, strip, or mask sensitive numbers beforehand. If something you forward happens to contain a full card or account number or an ID number, it is processed and retained like the rest of that email — in the stored raw email for 30 days. If we send it to the model — which we usually do, but not for a password‑protected file, one larger than about 20 MB, or any after the tenth PDF we actually send from one message — then whatever AWS keeps of that exchange follows the 30‑day window described below. We'd rather say this plainly than imply a filter that isn't there. Please avoid forwarding documents that carry full card or ID numbers; if you send one by accident, email us and we'll purge what we can right away — the stored raw email and any parsed record. What's already reached the model‑invocation logs is not purged early; it ages out on the same 30‑day clock as everything else in those logs.

Why we collect it (lawful bases)

Under GDPR / UK GDPR:

DataLawful basisPlain‑language reason
From: address, parsed receipts, generated summaries, user‑state record (including the locale signals above — your UTC offset and usual receipt currency) Art 6(1)(b) — contract performance Necessary to provide the service you asked for: deliver summaries to the address you forwarded from, covering the day, week and month that just ended on the UTC offset stamped on the mail you send us, rather than always on UTC.
Full content of forwarded receipts Art 6(1)(a) — explicit consent (your confirmation reply); Art 9(2)(a) for any special‑category data You actively forward each receipt; your confirmation reply is explicit consent to model‑processing.
Full content of forwarded statements, and the records we will derive from them once statement reconciliation launches — after you confirm Art 6(1)(a) — explicit consent (your confirmation reply); Art 9(2)(a) for any special‑category data You actively forward each statement. If the confirmation email you replied to names statements, that reply is explicit consent to model‑processing them; if it doesn't, we're telling you here and by email instead.
Free‑text replies (commands and engagement) Art 6(1)(b) for action‑classified replies; Art 6(1)(f) — legitimate interest for engagement routing Acting on pause/resume/delete is the service; routing unclassified replies to the operator keeps the pilot honest.
Redacted sender record (one‑way hash + a few dates, no plaintext) Art 6(1)(c) — legal obligation; Art 6(1)(f) — legitimate interest Audit trail to demonstrate compliance with erasure requests if challenged.
Email‑open events from the VDM pixel Art 6(1)(f) — legitimate interest We need to know whether summaries are being opened to judge whether the pilot is working and whether to keep sending them. You can block the pixel by disabling remote image loading in your email client.

If any forwarded receipt contains “special category” data (Art 9) — for example, a pharmacy receipt revealing a specific medication, or a religious or political donation — we do not name the specific item in your summaries, do not store it longer than the retention schedule below, and rely on Art 9(2)(a) explicit consent (your choice to forward it). A statement can carry the same kind of detail on any line, and more of it; once statement reconciliation is running, the same handling and the same basis will apply to statements you forward after confirming.

How long we keep your data

Data While active or paused After you delete If pending‑confirmation expires
From: address Until deletion Purged within 24h of token confirmation Purged at 14 days
Raw forwarded email body (incl. attachments) 30 days from receipt, then truncated to parsed records Purged within 24h — if that purge itself needs a retry, the same 30‑day‑from‑receipt clock every raw email already has is the backstop Purged at 14 days
Statement PDFs (bank/card statements you forward) 30 days from when we store it — the same 30‑day window the raw email gets. We store your statement as part of the email you sent, from the moment it arrives; what we don't do is write any statement record — header, lines, account — until your subscription is confirmed. The classifier read above still happens before then Purged within 24h — and if that purge needs a retry, that same 30‑day expiry is the backstop Purged at 14 days
What we extract from a statement — the issuer, the account type, its currency and country, the last few digits of the account number, the period, the balances and totals, each transaction line, any question we ask you about one, and the counts and totals we keep of how often we had to ask or got a line wrong. We are still building this; none of it is stored today — the classifier above does read a few signals out of the PDF, and, if you're receiving summaries and the check recognised the PDF as a statement, the reply we queue to tell you we can't process it yet carries the file's name — which on a bank export often contains your own name and the last digits of the account. That one reply is the exception: if you sent more than ten PDFs and photos we actually looked at, we answer with a single note about how many there were, and no filename travels at all. A signature logo or another tiny inline image doesn't count toward that ten, and nor does a file that is neither a PDF nor a photo. There is a second way no filename travels: if the check is unsure, or fails outright, we treat the PDF as a receipt, and a receipt draws no such reply. That queue row is deleted 7 days after we send it — in practice up to 8, because the sweep that removes it runs once a day. If we can never deliver that reply at all, the sweep never reaches it, because it only removes replies that went out: it stays queued, and goes when you delete your account. Beyond that reply, nothing from a statement reaches our database as a statement: no header, no line, no account, no reconciliation record. There is one way it leaves a mark anyway. If the check mistakes a statement for a receipt — the unsure‑or‑failed case above — we then read it as a receipt, and whatever the model finds in it is stored the way any receipt is, in the Parsed receipt records row below. Those are kept until you delete your account, like every other receipt. The two log rows near the bottom of this table are the rest of the story — the classifier's verdict and signals, and the trace of the check — and they are not nothing, which is why they have rows of their own. Until deletion — unlike the statement PDF itself, these have no expiry clock of their own. The PDF is deleted after 30 days; what we extract from it stays until you delete your account Purged within 24h of token confirmation Purged at 14 days
What you tell us about a line on a statement — that a payment labelled JSMITH PROPERTIES is your rent, who you were paying, or that a transfer between your own accounts isn't spending. Also still being built; we don't ask you about statement lines today Until deletion. These are your words about your own money, and they can name a landlord, an employer, or a family member. One that is later set aside as wrong is kept rather than erased — it still goes when you delete your account Purged within 24h of token confirmation Purged at 14 days
Parsed receipt records Until deletion Purged within 24h Purged at 14 days
Locale signals derived from the mail you send us (your UTC offset and the timestamp of the message we learned it from; your usual receipt currency) Until deletion — only the most recently observed value is kept in your sender record, though every generated summary also carries the offset it was computed in for as long as that summary is kept Erased at redaction, within 24h of token confirmation, unlike the dates in the redacted record above. One caveat: in the ordinary case both of these also reach the model prompt for a receipt you forward, and that copy ages out with the model‑invocation logs further down this table rather than at deletion. Neither is guaranteed to, though: the usual‑currency hint is included only once we actually have one for you, and the send time is included only when we could read the header and it looked plausible Purged at 14 days
Generated summaries 12 months rolling Purged within 24h n/a
Email‑open events (AWS SES VDM) 30 days from event, then auto‑purged. Aggregated metrics may persist beyond raw events per AWS defaults. Existing events continue to age out within 30 days; no new events created after your 24h purge n/a
Free‑text replies (command + engagement history — our database record of them) Until deletion Purged within 24h Purged at 14 days
Contact‑mailbox copies of replies our system didn't confidently recognise as a receipt or a command, plus any pause/resume sent before you confirmed, and any message from someone who has never confirmed at all that our system read as engagement rather than as a receipt or a command — this reaches the mailbox before you have confirmed anything (plaintext address, subject, body, attachments — a separate copy from the row above, and read from Dubai; a recognised bank or card statement is held back, as is every attachment on an email that carried more than ten PDFs and photos we actually looked at, or a PDF we could open that ran to more pages or more bytes than we read, or one so large we never opened it at all) Until you ask us to delete them Not reached by the deletion purge — ask us and we'll delete by hand Not reached by the 14‑day purge either
Pending deletion tokens 24h TTL, then auto‑expired n/a n/a
Redacted sender record (your email_senders row, address replaced by a one‑way hash) n/a Retained — the row is never deleted, only redacted. A few dates survive (signup, confirmation, last summary, deletion); this is how we show the deletion ran. n/a
Operational deletion‑log entry (hashed address + timestamp, for internal monitoring) n/a 7 days, then auto‑purged — short‑lived; the redacted sender record above is the durable one n/a
Database automated backups (all your data as of the backup point) Rolling 7‑day AWS RDS automated backup window Existing backups continue to age out within 7 days of the backup date Same
AWS SES inbound / outbound mail logs Per AWS retention, configured to minimum Aged out per AWS schedule Same
Our own application log — when the check finishes, what the model reported back: whether the document looked like a statement, how confident it was, how many pages it had, and whether it showed an account number, a statement period, a transaction table or a bank's own branding. Those five signals are recorded as counts and yes/no answers, alongside the file's name hashed — never the issuer's name, and never any line the model quoted back. If the model fails or answers with something we can't read, we log that failure instead — none of the model's answers, though the page count stays, because we count the pages ourselves before sending it. The file's name is hashed in that entry too. Every other entry this log keeps about an attachment carries the name the same way — that we worked out its type from its contents, that we couldn't read it, that we dropped it. The name you gave the file is never written into this log in the clear. Written before you confirm, because the check itself happens then 7 days from when the entry is written Not reached by the purge — entries age out on their own 7‑day clock Same
AWS X‑Ray traces — a timing record of each step handling your email, sampled at 100%. For the statement check it carries the same verdict and confidence as the row above, the page count, and the file's name hashed; elsewhere it carries step names and whether your subscription was active or paused. Your address rides along on most steps as the same one‑way hash the redacted subscription record above uses — not the address itself, but the same value, so a trace and that record can be matched to each other. A trace also carries the identifier your own mail program stamped on the message — usually a random string, but that program chooses it, and a few write an address into it. We don't put your message text or an attachment into a trace. What can carry a fragment of one is an error recorded on a trace: where the model's own answer could be echoed back into an error, we strip it, but we can't promise every error string anywhere in the system is clean 30 days — AWS's own fixed schedule for X‑Ray. We don't set it and can't shorten it Not reached by the purge — traces age out on their own 30‑day clock Same
AWS Bedrock model‑invocation logs — the prompt and response for every model call, including forwarded receipt text and whatever AWS keeps of receipt photographs and PDFs — statements go to the model on the same path, so the same applies to them 30 days from invocation, then auto‑purged. Not used to train any model. Existing logs continue to age out within 30 days; no new logs created for you after your 24h purge, except one more entry if you email us again afterward — that message is classified before we recognise the account is deleted, which writes one more log entry either way. A non‑receipt message is then dropped without reply; one recognised as a receipt from its own subject and text starts a fresh subscription Same

To delete everything, reply to any email from us in plain English (“delete everything”, “I want out”, “wipe my data” — anything that reads as a deletion request works). We'll reply with a 6‑digit confirmation code; reply with the code within 24 hours and the purge completes within a further 24 hours, with confirmation in writing. The redacted sender record above is retained — not deleted — as the durable audit trail; a short‑lived operational log entry is also queued at the moment of deletion and normally written within moments; it's retained 7 days from that write, not from the deletion event. A few things the purge does not reach on the spot, and age out on their own clock instead: Bedrock model‑invocation logs (30 days), database backups (7 days), and open‑tracking events (30 days, though aggregated counts may persist longer) — see the retention table above. One thing the purge never reaches: a copy in our contact mailbox of anything our system didn't confidently recognise as a receipt or a command, including your plaintext address. A pause or resume you sent before confirming counts as a message to us too, so a copy of that is in there as well. That isn't time‑bounded, and only goes away if you ask us to delete it by hand. Beyond the operational log entry mentioned above, we log nothing new in the model‑invocation logs for you after deletion completes, with one exception: if you email us again, that message is still classified before we recognise the account is gone, which writes one more log entry either way. A non‑receipt message is then dropped without reply; a forwarded receipt starts a fresh subscription. We go by the email's own subject and text to tell it's a receipt; one sent as just an attachment with little else written may not be recognised.

Who we share it with

Three sub‑processors. The bulk of your data — forwarded receipts and statements, parsed records, summaries — stays within Amazon Web Services in the EU. A narrower flow involves Google Workspace, which hosts the operator's contact mailbox and receives any engagement messages the system can't auto‑classify. The public pages at monthaudit.com load fonts from Google Fonts, which means Google receives your IP address and browser headers on each page visit.

Sub‑processorRoleWhere processedSafeguards
Amazon Web Services, Inc. Amazon SES for inbound and outbound email delivery; Amazon Bedrock for invoking Anthropic's Claude model (telling a statement from a receipt, receipt parsing, intent classification, summary generation); AWS compute and storage for everything else. EU — Ireland (eu‑west‑1). Contracting entity is AWS, Inc., a US company. EU‑US Data Privacy Framework; UK Data Bridge; 2021 SCCs. Your data sent to Bedrock is not used to train any AI model — AWS Bedrock does not use customer prompts or outputs for training by default, and we have an AWS organisation AI services opt‑out policy in effect as a belt‑and‑suspenders measure. Invocations are not shared with Anthropic outside the request/response cycle. Bedrock invocation logs capture the prompt and response for every call — including forwarded receipt text and whatever AWS keeps of receipt photographs and PDFs — and are retained 30 days for operational debugging. They stay inside AWS. They are not reached by an account deletion; they age out on their own 30‑day clock. Our AWS RDS database also keeps rolling 7‑day automated backups, which likewise age out on their own clock rather than being purged on the spot. AWS DPA
Google LLC (Google Workspace) Hosts the operator's contact mailbox (hello@monthaudit.com). Receives engagement replies the system can't confidently auto‑classify and forwards them to the operator for a manual response. Also receives any email you send directly to hello@monthaudit.com. Workspace Data Regions configured to EU. Contracting entity is Google LLC, a US company. EU‑US Data Privacy Framework; UK Data Bridge; 2021 SCCs. DPA
Google LLC (Google Fonts) Serves the web fonts (Instrument Serif, Geist, JetBrains Mono) used by the public pages at monthaudit.com. Every page load sends your IP address and browser headers to Google's font servers. No receipt or account data is involved; only the page visit itself. Google infrastructure (global CDN). Contracting entity is Google LLC, a US company. EU‑US Data Privacy Framework. Google Privacy Policy; Google Fonts privacy FAQ.

We do not use: any advertising network, retargeting pixel, analytics tool, data broker, third‑party cookie, or hidden third‑party email‑open tracking pixel. The public web surface is monthaudit.com — a static marketing page and this privacy notice. No signup form is operated.

International data transfers

The bulk of your data — forwarded receipts and statements, parsed records, summaries, and state — is processed within the European Union. AWS handles SES and Bedrock requests in eu‑west‑1 (Ireland) with storage in the same region.

A separate, narrower flow involves Google Workspace (the operator's hello@monthaudit.com mailbox and engagement routing). Workspace Data Regions are configured to EU. For any incidental US‑bound transfer of Workspace data, transfers rely on:

One more leg, and it is the least visible from the outside. That mailbox's data region is set to the EU, but the person who reads it is in Dubai — so an engagement message routed to it is read from the United Arab Emirates, which has no EU adequacy decision. What travels that way is your address, the subject, and the body you wrote. An attachment usually travels too — a receipt photo, an invoice PDF. When our check recognises a bank or card statement, we hold the attachments back and the operator sees your message with nothing attached at all — not just the statement, everything that came with it. A statement we could not open, one our check read as a receipt, or that reached us as a photo, may not be held back, because nothing told us what it was. Nothing is attached either if the email carried more than ten PDFs and photos we actually looked at, or a PDF we could open that ran to more pages or more bytes than we read, or one so large we never opened it at all, or if the stored copy of your email has already aged out. The holding-back does not apply to mail you send to hello@monthaudit.com yourself: that arrives in the same mailbox, with whatever you attached, and is read the same way.

Your data sent to AWS Bedrock is not used to train any AI model. AWS Bedrock does not use customer prompts or outputs for training by default, and we have an AWS organisation AI services opt‑out policy in effect on top of that. Invocations are not shared with Anthropic outside the request/response cycle.

Email us for specifics for your location.

Your rights

Depending on where you live, you have some or all of the following rights:

To exercise any of these rights, including deletion: reply to any email from us in plain English. The system infers what you're asking for; you don't need to remember special keywords. For deletion, we'll send a one‑time 6‑digit confirmation code (single‑use, 24‑hour expiry) — this is to defend against an attacker who has spoofed your email address. Reply with the code and the purge completes within 24 hours, with confirmation in writing.

You can also email hello@monthaudit.com directly. We will respond within 7 days; for deletion requests, we'll confirm in writing once the purge is complete.

For California residents: you also have the rights described under the CCPA and CPRA, including the right to know, delete, correct, and limit use of sensitive personal information. We do not sell your personal information and have not done so in the past 12 months.

Cookies and tracking

We don't operate a tracked website, set cookies that identify you, or run analytics on the privacy‑notice page. The only web touchpoint is monthaudit.com hosting this notice, which uses no cookies and no analytics tool.

Our summary emails do contain a single 1×1 open‑tracking pixel, delivered by AWS SES. When your email client loads remote images, the pixel request reaches AWS, which records that the email was opened and the metadata your client reveals when fetching it (IP address, derived approximate location, user‑agent). We use this to judge whether summaries are landing — nothing more.

If you'd rather not be tracked, disable remote image loading in your email client before opening our emails. This is supported by every major mail client (Gmail, Apple Mail, Outlook, Fastmail, Proton) and typically lives under image‑display or external‑content settings.

Children

This service is not intended for anyone under 16. We do not knowingly collect data from children. If you believe a minor has signed up, email hello@monthaudit.com and we will delete the account.

Security

Changes to this notice

We'll update this notice when we add or remove a sub‑processor, change a retention period, change the legal entity, or add a new use of data. For material changes, we will email every user with an active or paused record at least 14 days before the change takes effect. For minor edits (typos, formatting), we'll just update the page and bump the “Last updated” date at the top.

The full version history of this notice is available on request.

Contact

Email: hello@monthaudit.com

Response time: typically within one working day, no later than 7 days for formal data‑rights requests.

Postal address: available on request to verified data‑rights requests.