An email from an agency with a deadline
A letting agency forwards you an email from a former tenant asking for all the personal data held about them. The agency has its own time limits and wants whatever your product holds, soon. Your developer starts searching: the tenant appears in two tenancies, one application that did not proceed, a repair job with photos, messages through the tenant portal, emails logged against the property, and a document store with their reference and ID checks.
Some records use their maiden name. Some notes mention them by first name only. The developer spends two days on queries and exports, and at the end is still not sure they found everything.
Why a person is hard to find in property software
Property software is organised around properties and tenancies, not around people. The same person shows up in many roles over time: applicant, tenant, guarantor, landlord, even contractor. Your product's data model reflects that.
- The same person has separate records per tenancy or per role, not one identity.
- Free-text notes, emails and messages mention people in ways a database query does not catch.
- Documents and photos are stored in file storage, linked by record IDs, not by person.
- Logs and backups hold copies of data that nobody considers when answering a request.
- There is no written procedure, so each request is a fresh investigation.
What a scramble costs
The agency is usually the party responsible for responding, and it relies on you to provide what your product holds. A slow or incomplete answer from you puts them in a difficult position, and they will remember it. Developer days spent on each request add up, and a request answered in a hurry is more likely to leak someone else's data, such as a joint tenant's details included by mistake.
These requests also arrive in other forms: a request to delete, to correct, or to stop using data for a purpose. Each has the same underlying problem of finding everything.
How we build data requests into the product
What we build makes a person findable across your product, within the boundaries of each agency's data.
- A person index that links records likely to be the same individual within one agency, using name variants, email, phone and date of birth where held, with confirmation by a person for uncertain links.
- Search across structured records, notes, messages and document metadata, highlighting mentions for review.
- An export pack generated from confirmed records, in a readable format with documents attached, and with other people's details, such as a joint tenant's, flagged for redaction.
- Deletion and restriction tools applied to confirmed records, following the rules the agency chooses, with anything that must be kept marked and left alone.
- Handling of logs and backups according to a written policy, so they are not forgotten.
- A request log per agency recording what was asked, when, what was found and what was provided or done.
| Where data sits | How it is found |
|---|---|
| Tenancies, applicants, landlords | Person index across records |
| Notes and messages | Text search with name variants, reviewed |
| Documents and photos | Linked through records, metadata searched |
| Email logs against properties | Sender and recipient matching |
| Backups and logs | Covered by your written policy |
What must be provided, deleted or kept is for the agency and its advisers to decide. The tools make those decisions quick to carry out and easy to prove.
The next forwarded request
The next request arrives. Your support person searches the tenant's name and email, sees six linked records and three possible matches to confirm, and reviews notes that mention them. The export pack is generated, with a joint tenant's details flagged for redaction. The agency receives it with a summary of where each item came from, and the request is logged. Nobody runs a database query.
Could you answer a data request quickly?
- Answering a request needs a developer running database queries.
- A person can exist in your product under several unlinked records.
- Notes, messages and documents are not searched when answering requests.
- There is no record of requests you have handled for agencies.
- Deletion requests are carried out by hand in the database.