Security
A locked recipe box, kept by careful people.
Family recipes are not bank records, but they are irreplaceable. Here is how we protect them, in specific terms, including what we have not done yet.

i. Encryption
In transit and at rest.
- Every connection to Kitchenlore uses TLS (HTTPS). Plain HTTP is redirected, and browsers are told to use HTTPS only.
- Data at rest, including the database and stored originals, is encrypted by our hosting and database providers.
- Requests to model providers, our database, Stripe and Resend all travel over TLS.
ii. Accounts
Passwords and sessions.
- Passwords are hashed with bcrypt before they are stored. We never store or log a password in plain text, and nobody at Kitchenlore can see yours.
- Sign-in sessions are signed, HTTP-only cookies that scripts on the page cannot read, protected against cross-site request forgery.
- Sessions expire after 30 days. Signing out ends the session on that device.
- Email verification and password reset links are single use and expire.
iii. Access
Least privilege.
Only the engineers who need production access have it, through individual accounts with two-factor authentication. Nobody at Kitchenlore reads your recipes as a matter of course. We look at a specific recipe only when you ask us to in a support request, or when we must to keep the service safe, and we tell you when we do.
Every book checks who is asking on every request. Viewers can read, contributors can add and fill, owners can invite, remove and delete. Nothing in a book is reachable by a guessable link.
iv. Vendors
Who else touches the data.
We keep this list short. Each vendor gets only what it needs to do its job.
| Vendor | What for | What it sees |
|---|---|---|
| Vercel | Hosting and delivery of the website and app | Requests in transit; application logs |
| Turso (libSQL) | Managed database | Account, books, recipes, transcripts, sharing |
| OpenAI | Reading cards, transcribing memos, structuring recipes | The source being processed, for that request only |
| Anthropic | Reading cards and structuring recipes, primary or fallback | The source being processed, for that request only |
| Stripe | Billing and payments | Name, email, billing details; card numbers never touch our servers |
| Resend | Transactional email | Email address and the message being sent |
OpenAI and Anthropic process recipes through their APIs. Under their API terms, data sent through the API is not used to train their models. We do not opt in to any program that would change that. Family recipes are never used to train our models or anyone else’s.
v. Compliance
Where we are, honestly.
We are not SOC 2 certified. We are working toward SOC 2 Type I, and we have started with the controls that matter most for a company our size: access reviews, vendor reviews, written incident response, and encrypted backups that age out within 30 days. We will update this page when the audit is done, not before.
vi. Disclosure
Found something? Tell us.
If you believe you have found a security problem in Kitchenlore, email security@kitchentlore.com with the details and steps to reproduce. We will acknowledge your report within two business days, keep you updated as we fix it, and credit you if you would like.
We ask that you:
- Test only against your own account and books.
- Do not access, change or delete other families’ data. If you reach any by accident, stop and tell us.
- Do not run denial of service tests, spam, or social engineering against our team.
- Give us reasonable time to fix the issue before you share it publicly.
We will not take legal action against anyone who reports in good faith and follows these rules.