How Wishd uses data
Wishd is operated by Jun Kiat Lee personally. Contact: reactive.design@gmail.com. Testing is invitation-only. Wider sharing awaits live acceptance.
Sign-in and storage
Google verifies your identity. Wishd associates saved wishes and onboarding with that identity, using its existing Render service and encrypted server storage in Supabase. The browser also keeps local wish data and a pending capture draft. Session cookies are Secure, HttpOnly and SameSite Strict.
OpenAI processing
If enabled and you agree to proceed, the nine onboarding answers and timezone are sent to OpenAI for profile interpretation. Answers may include location, work routines, family, children's school stage and religious preferences. Wish generation sends wish text and timezone to OpenAI using GPT-5.6 Terra. Calendar data and wish history are not included in that wish-generation payload.
Requests use store:false. This does not promise zero provider retention or override OpenAI's policies.
Optional voice
Recording begins only when you activate the control, for up to ten seconds. Browser speech recognition may send audio to its recognition service; it is not guaranteed to run on your device. The precise backend and retention depend on the browser and are not verified here. Wishd saves confirmed transcript text rather than raw audio. Typed capture is available.
Optional Google Calendar
Google receives consent and API requests. Wishd reads primary-calendar busy intervals, not event titles or details, and writes plans to a separate app-created calendar. For new connections and intentional reconnections under the current connection disclosure, automatic placement is part of the connected service: the scheduler can place suitable wishes without confirming each one until you disconnect. Existing disabled choices are preserved until intentional fresh consent. OAuth tokens are encrypted in server storage. Google scopes technically permit broader operations than Wishd's application limits; Wishd disallows deletion, attendees, notifications and edits to existing calendars.
New connections require explicit agreement to ongoing access until you disconnect Wishd or revoke Google access. Existing bounded QA connections retain their original expiry. Disconnect stops future reads, writes and scheduling after an operation already underway finishes; the Wishd off switch also stops app access. Neither action deletes existing events or revokes Google's grant. You can manage connected-app access in your Google Account; revocation is separate from deletion of stored Wishd data.
Location and holiday suggestions
Where IP-based city suggestions are available, ipapi.co receives your IP address to estimate your city; only the city you confirm is saved. Automatic IP lookup is disabled in the pilot. Other existing paths may request public-holiday dates from Nager.Date using country and year; that service also receives the connection IP. Check regional and school dates yourself.
Retention and requests
Data is retained while an account is active. Verified deletion requests will be handled through reactive.design@gmail.com. Session expiry or pausing access does not erase records. No automatic deletion or response deadline is promised. This is a support-handled process, not an automated deletion feature.
Owner-selected support contact: reactive.design@gmail.com. Responsible operator: Jun Kiat Lee (individual).