Honestkey™
Security overview
Written for whoever reviews a vendor before a housing authority buys from them. Everything below is a statement of fact about how the product is actually built. If your file needs something that is not here, ask and it will come the same day.
Your tenant data never goes to an AI model
This is usually the first question, so it is the first answer. The HUD tools — income recertification, NSPIRE, SEMAP, EIV, rent reasonableness, income limits — contain no artificial intelligence of any kind. They are ordinary arithmetic written against the published HUD rules. A household’s income, its composition, and its rent calculation are processed by deterministic code on our own servers and are never transmitted to Anthropic, OpenAI, or any other model provider.
That matters beyond privacy. A calculation performed by a language model cannot be audited, cannot be reproduced exactly, and cannot be defended in a HUD review. Ours can: the same household produces the same numbers every time, and every figure traces back to the rule that produced it.
Honestkey™ does use AI in one place — reading uploaded lease PDFs on the consumer side of the product, which is a separate service from the government tools. If your agency never uploads a lease for scanning, no data of yours reaches a model provider at all.
Where your data lives
In the United States. The database and uploaded files sit in Amazon Web Services’ us-east-1 region, managed by Supabase, on PostgreSQL 17. The application runs on Vercel, also in the United States. Nothing is stored or processed outside the country.
Encryption
Data is encrypted in transit using TLS 1.2 or better, and encrypted at rest using AES-256. That applies to the database, to uploaded documents, and to backups.
Who can see it
Access is enforced by the database, not only by the application. Every table carries row-level security tied to the signed-in account, and agency records are additionally scoped to the organization that owns them. A request that somehow reached the wrong row would be refused by PostgreSQL itself, which means a bug in the application cannot quietly expose another agency’s caseload.
The administrative credential that bypasses those rules exists only on the server. It is never sent to a browser and is not present in any code that runs on your machine.
Access to production by our own staff is limited to the people who need it, and protected by multi-factor authentication.
Who else touches it
This is the complete list of third parties that receive any data from us. Several are involved only if you switch on the feature that uses them, and the “When” column says which. If a provider is not on this list, your data does not reach it.
| Provider | What it does | What it sees | When | Where |
|---|---|---|---|---|
| Vercel | Runs the application | Requests and application logs | Always | United States |
| Supabase | Database and file storage | Everything you enter or upload | Always | AWS us-east-1 (United States) |
| Stripe | Payments | Billing details. Card numbers never reach us | Always | United States |
| Resend | Sends email | Recipient address and message content | Always | United States |
| Sentry | Error reporting | Diagnostics when something breaks | Always | United States |
| Website analytics and ad measurement | Pages visited on our website. No cookies are set until you accept them | Always | United States | |
| PostHog | Product analytics | Which pages get used | Only if you accept cookies | United States |
| Hotjar | Website session analytics | How visitors move through our website | Only if you accept cookies | United States |
| Meta, OpenAI | Advertising measurement | That an ad led to a visit | Only if you accept cookies | United States |
| Anthropic, OpenAI | Reads uploaded lease documents | Lease PDF text — tenant-side scanning only, never the HUD tools | Lease scanning only | United States |
| Dwolla | Bank transfers (ACH) | Bank account and payer identity details | Only if you collect rent online | United States |
| Plaid | Connects a bank account | Bank login is entered with Plaid, never with us | Only if you link a bank account | United States |
| Twilio | Sends text messages | Recipient number and message text | Only if you send texts | United States |
| Intuit QuickBooks | Accounting sync | The accounting records you choose to sync | Only if you connect QuickBooks | United States |
| DoorLoop | Imports your existing records | The records you import | Only if you import from DoorLoop | United States |
| TransUnion SmartMove | Tenant screening | Applicant details are entered with TransUnion, never with us | Only if you screen applicants | United States |
Vercel, Supabase and Stripe each maintain their own SOC 2 attestations, which they publish. We can point you at the current reports on request.
Keeping it, and deleting it
Your data is yours. You can export it at any time, and you can ask us to delete it — in which case it is removed from the live database, and falls out of backups as those age out on the normal cycle. We do not sell data, we do not share it with advertisers, and we do not use one agency’s data to serve another.
The database is backed up automatically by Supabase on their managed schedule.
If something goes wrong
Errors are reported to Sentry and reviewed. If a security incident affected your data, we would tell you directly and promptly, with what we know, what we did, and what you need to do — not a notice buried in a status page. Report anything that looks wrong to hello@honestkey.com and it will be looked at the same day.
What we are not
A reviewer who finds one overstatement on a page like this is right to distrust the rest of it, so here is the honest boundary:
- Honestkey™ does not hold its own SOC 2 attestation. Our infrastructure providers do; we do not, and we will not claim otherwise.
- We are not FedRAMP authorized.
- We have not commissioned an independent penetration test.
- We are a small company. That is the trade: you get the person who wrote the software answering your email, and you do not get an enterprise compliance department.
If your agency requires any of the above before it can buy, tell us and we will say plainly whether we can meet it and by when, rather than leaving you to find out during procurement.
For a purchase file
If you are assembling documentation for a purchase, the procurement page has the threshold position, the paperwork we can supply, and what to expect on timing.