# Proof of address

Add Proof of Address to a workflow to ask for a recent bill or statement (PDF or photo) after the document. Once the identity document has passed, our own reader looks for the name from the ID on it (accents, word order, initials and small reading errors allowed), takes the address next to that name, picks the issue date from the dates printed near words like Rechnungsdatum, date de facturation, data fattura or statement date, and reads the issuer from the letterhead or the Swiss QR-bill. It also classifies the document (utility, telecom, bank, insurance, tax, government, lease) and checks PDFs for signs of editing. A reader cannot tell a real bill from a convincing forgery, so it never approves a document on its own: it pre-fills the review and declines only obvious failures.

| Finding | Reason code | Default |
| --- | --- | --- |
| Older than the maximum age (30, 60, 90 or 180 days; 90 by default), or dated in the future | `PROOF_OF_ADDRESS_OUTDATED` | Decline (or review) |
| Readable, but neither the name nor an address is on it | `PROOF_OF_ADDRESS_NO_NAME_OR_ADDRESS` | Decline (or review) |
| An identity document, a selfie or a blank page | `PROOF_OF_ADDRESS_WRONG_DOCUMENT` | Decline (or review) |
| Strong PDF edit signs: saved after its signature, or name, address or date replaced in a later revision | `PROOF_OF_ADDRESS_EDITED` | Decline (or review) |
| A different name, no date or issuer, an unclear address or one in another country than the ID, weak edit signs, a password-protected PDF, a file it could not read in time | `PROOF_OF_ADDRESS_REVIEW` | Review |

Require manual review of every proof of address is on by default: every verification with a proof of address then waits for your team, with the findings pre-filled. Turn it off to let a document the reader found fully consistent (name matches, recent, issuer and address read, no edit or AI signs) pass without review. The reader works within fixed limits (the first pages only, a capped image size, a time limit per file); a file it cannot read in time goes to review, never to a decline. The signed result carries `proof_of_address` with the state, findings, document type, issue date and age and how well the name matched, never the name or address itself.
