Spendvora

Security and your data

You are about to put your supplier paperwork and your budget in someone else's software. Here is exactly how it is looked after, with no vague talk about bank-grade anything.

The measures that matter

Separate tenants

Every customer has its own tenant, and application queries are scoped to it. There is no screen in Spendvora where one customer's records can appear inside another's.

Passwords we cannot read

Passwords are hashed with Argon2id, the current recommended algorithm. We cannot recover one, only help you reset it.

Keys and tokens encrypted

Your OpenAI API key and your Xero OAuth tokens are encrypted before they are written to the database, using a key held outside the codebase.

Documents in a private archive

Uploads sit on the application server only while the queue reads them, then move to a private bucket that is not publicly readable.

Links that expire

Opening an original document generates a signed link that dies within minutes. There is no permanent public URL to a file.

Forms that cannot be forged

Every action that changes data carries a CSRF token, and sign-in cookies are HTTP-only and marked secure over HTTPS.

Permissions, not honour

Every action is gated on a named permission, and record visibility is enforced per user, not just hidden from the menu.

An audit trail by default

Meaningful changes are recorded with the user, the record, the time and the IP address, and owners and managers can read the log.

Activity log All activity This month WHEN WHO ACTION ITEM 09:41 Manager po.approved PO-2026-0142 09:38 Buyer po.submitted PO-2026-0142 09:22 Buyer invoice.confirmed INV-88421 08:57 System scan.completed Batch #418 08:14 Owner budget.updated Overheads 2026 07:52 Manager po.rejected PO-2026-0139 Yest. Owner settings.updated Approval rules Every meaningful change records the named user, the time and their IP address Who can do what O Owner Everything, billing included M Manager Approves spend, runs reports B Buyer Raises orders, uploads scans V Viewer Read only, where you allow it Plus per-user visibility on records

The activity log is not an add-on. It is how you answer "who approved that" six months later.

Where your documents actually go

Worth being specific, because "the cloud" is not an answer. When you upload a file it is written to a directory above the web root, so it can never be fetched directly by URL. The scan worker picks it up, sends the contents to the OpenAI API for extraction, and writes the results back into your tenant.

Once processing is done the file is archived into a private storage bucket in Ireland and removed from local disk. Viewing it later goes through Spendvora, which checks your permissions and then issues a short-lived signed link.

The one place your data leaves the UK and Ireland by default is AI extraction, which runs in the United States with OpenAI. If you would rather that ran under your own commercial arrangement, add your own OpenAI key in Settings. The full list of who processes what is on the sub-processors page.

Things we do not claim

We would rather be trusted than certified-sounding. So, plainly: Spendvora does not currently hold ISO 27001 or SOC 2, and there is no service level agreement attached to the standard terms. We are a small British company, and we are not going to pretend to be an enterprise compliance operation.

What we will do is answer specific questions honestly. If your procurement team needs a security questionnaire filled in, a named hosting provider, or a data processing agreement signed, email procurement@brainwavedesigns.co.uk and you will get a straight response from someone who knows the code.

Your side of it

Most real incidents are not clever attacks. They are shared logins and people who left months ago.

One login per person

Never share an account. The audit trail is only worth having if a name means one human being.

Least access that still works

Buyers do not need approval rights. Viewers do not need edit rights. Use the roles and the per-user visibility settings.

Remove leavers the same day

Disabling a user in Settings takes seconds and immediately ends their access.

Think before you upload

Documents go through AI extraction. There is rarely any reason to put sensitive personal data into a purchase record.

Found a security problem? Tell us at procurement@brainwavedesigns.co.uk before telling anyone else, and see section 6 of the acceptable use policy.

Questions before you trust us with it?

Ask them. You will get an answer from the people who built it, not a sales script.

Get in touch