Security & compliance
If you are about to put every tenancy, certificate, and tax figure you own into a piece of software, you are entitled to more than the phrase “bank-level security.” This page is the specific version: what is encrypted and how, where it physically sits, who else touches it, and what happens if something goes wrong. It also says what we have not done yet.
Encryption
- In transit: TLS on everything. HTTPS is enforced on the production domain, the database connection is TLS, and every third-party API call is HTTPS.
- At rest: AES-256 at the database platform level, the standard treatment for managed Postgres.
- A second layer on the sensitive fields: HMRC OAuth tokens and National Insurance numbers are encrypted again at the application level before they are written, using a key held only in server environment variables and never stored in the database. Someone holding a copy of the database alone could not read them.
- Card details: never touch our servers at all. Payment happens on Stripe's own hosted checkout.
Access control
Every table in the database has row-level security enabled, with no exceptions — the rule that scopes data to your account is enforced by the database itself, not by application code that could be bypassed by a bug in a single query. The tables holding HMRC OAuth tokens, rate-limit records and Stripe webhook events go further and have no client-facing access policies at all: only server-side code running with the service role can read them.
Team access is scoped per property, not per account. Giving your accountant access to one flat gives them that flat, with a viewer or editor role, and nothing else.
Bank data — and why we do not need FCA authorisation
LetBuddy does not connect to your bank, and that is a design decision rather than a missing feature. There is no Open Banking integration, no bank credentials are ever entered here, and nothing about your account is polled in the background. Bank data arrives one way only: you export a statement from your own online banking and upload the file. LetBuddy then suggests which lines look like rent received or a deductible expense, and you approve each one before it is saved.
What that buys you is control. Nobody holds standing read access to your current account, there is no permanent connection sitting there to be revoked, breached, or quietly widened later, and nothing reaches LetBuddy that you did not choose to send it. In practice it is one upload when you sit down to do your expenses, and your account stays entirely your own in between.
It also keeps LetBuddy outside the FCA's regulatory perimeter. Holding a live feed would make a provider an account information service; because LetBuddy neither initiates payments nor accesses accounts, no FCA authorisation is required for what it does. If we ever add a live feed, we will say so here first, along with whose permission it runs under.
Making Tax Digital — current status
LetBuddy is not yet HMRC-recognised, and we will not claim otherwise. An application for HMRC production credentials has been submitted and is with them. Until it is granted and LetBuddy appears on the GOV.UK list of software compatible with Making Tax Digital for Income Tax, the feature stays marked as coming soon inside the product. If you are choosing software today specifically to file with, choose on that basis.
- Official API only. Submissions go through HMRC's published Making Tax Digital API. Nothing is scraped, and no unofficial route is used.
- We never see your Government Gateway login. Authorisation happens on HMRC's own hosted sign-in page using OAuth 2.0 with PKCE. LetBuddy only ever receives a token, and that token is encrypted before storage.
- Digital links. Your records stay digital from entry to submission. A figure typed in, imported from a spreadsheet, or matched from an uploaded statement flows into the quarterly total by calculation, not by being manually re-keyed into a submission form. There is no copy-and-paste step anywhere in the chain, which is the substance of HMRC's digital link requirement.
- Fraud prevention headers. HMRC requires software to send a set of headers identifying the device and connection method on every call. LetBuddy sends them on every real request, and where a header is genuinely uncollectable for a server-side web application, that omission has been put to HMRC's software developer support team in writing rather than faked.
Where your data sits, and who else touches it
| Provider | What it handles | Where |
|---|---|---|
| Supabase | Database and authentication | EEA — Stockholm, Sweden |
| Vercel | Application hosting and server-side compute | EEA — Stockholm, Sweden, for all server-side code. Routing happens at the nearest edge location, and Vercel Inc. is a US company, so the UK Extension to the EU-U.S. Data Privacy Framework is the safeguard we rely on |
| GitHub | Stores our nightly backups, encrypted before they leave our systems with a key GitHub does not hold. Deleted automatically after 90 days | United States, under its own transfer safeguards |
| Stripe | Subscription payments. Card details never reach our servers | United States / EEA, under Stripe's own transfer safeguards |
| Resend | Transactional email — reminders and alerts | United States, under its own transfer safeguards |
| Anthropic | Three optional AI features: reading uploaded certificates, drafting trade quote emails, triaging tenant reports | United States, under its own transfer safeguards |
| One optional lookup: searching for local trades on a maintenance job. Receives the trade and the property's postcode, nothing else | United States, under its own transfer safeguards | |
| HMRC | Making Tax Digital submissions, if you choose to connect | United Kingdom |
The full legal basis for each transfer is in the privacy policy.
If something goes wrong
There is a written breach response procedure with a named contact, a defined containment sequence, and the actual reporting routes to the ICO and, where tax data is involved, to HMRC. The UK GDPR clock is 72 hours from becoming aware of a reportable breach, and it is treated as starting from awareness, not from convenience. Affected landlords are told directly where the breach is likely to present a high risk to them.
To report a vulnerability, email hello@letbuddy.co.uk with “security” in the subject. Good-faith reports are welcomed and will not be met with legal threats. There is no bug bounty budget — what there is, is a reply from the people who wrote the code, rather than a ticket number.
What we have not done
A security page listing only strengths is a marketing page. These are the real gaps as things stand:
- No third-party penetration test. An OWASP ZAP scan has been run against the application and the two real findings it produced were fixed, but that is a tool, not an independent assessor.
- No SOC 2 or ISO 27001 certification. Neither audit programme has been undertaken. What exists instead is a written, dated, reviewed information security policy.
- Automated security scanning is not yet recurring. It has been done as a point-in-time exercise rather than on a schedule.
- Production access is not split across a duty rota. It is held under least privilege by a named administrator, and every production action is logged. That means no unnecessary access spread around, and it also means no second pair of eyes on a production change — both halves of that are true and you should weigh them.
Last reviewed 27 August 2026. Questions about anything on this page can go to hello@letbuddy.co.uk and will get a real answer.
