Privacy
Dinners has no accounts and no database. We can't see your board, and there's nothing of yours for us to lose or sell.
Where your board lives
Every device that opens a board keeps a full copy in its own browser storage (IndexedDB). Devices with the board open at the same time sync directly with each other over encrypted WebRTC connections. Public Nostr relays are used only to help them find each other.
So that a device opening the board later still gets the latest dinners, each device also leaves a copy on a few public Nostr relays. It is encrypted (AES-GCM) with a key made from the board's words on your device, so the relays see only scrambled data and a random-looking key. It expires 30 days after the board was last opened or changed.
The three words
A board's words are its key: anyone who knows them can open and change the board. They are turned into secret keys on your device with PBKDF2 and are never sent anywhere. Board pages are never indexed by search engines, and their address is removed from analytics before anything is sent. If the words get out, use Move to new words in the board's settings.
What's kept on your device
- The boards you've opened, so the home page can list them.
- Your name, if you choose to give one, and your chalk colour.
- Each board's dinners, so it works offline.
“Remove from this device” in a board's settings deletes it from this browser. A board is gone for good once every device that has it removes it and its relay copy expires.
We Need Bananas
If you link a We Need Bananas shopping list, its words are kept on the board so everyone on it can send ingredients there. Sending opens that list with the ingredients in the link's # part, which browsers never send to a server.
Analytics
We count visits with Vercel Web Analytics and Speed Insights, which use no cookies and don't identify you. Board words, queries and anything after a # are stripped from every address first.
Contact
Questions? Open an issue on GitHub.