Privacy Policy
Effective 2 September 2026. Applies to pawpawmood.app and hachimo.app.
PawPawMood reads cat and dog body language from a photo or a short video. To do that it has to look at your pictures, and if you sign in it keeps a journal of readings for you. This page says exactly what is collected, who else touches it, and how to have it deleted.
Photos and videos you upload
Each upload is sent over an encrypted connection to our AI provider, OpenRouter, which routes it to a Google Gemini vision model to produce the reading. Videos are sampled into a handful of frames in your browser first, so only small still images leave your device. We do not keep the photo or the frames on our servers once the reading has been produced. OpenRouter’s own handling of requests is described in its privacy policy.
What we store, and when
- 📓 Readings — if you are signed in, each reading (mood score, label, summary, the cues it saw, and the pet name or species you typed) is saved to your journal until you delete it or close your account. Guests get nothing saved.
- 👤 Account — your email address, or the name, email and avatar of the Google account you sign in with. Sign-in is handled by Supabase.
- 💳 Billing — if you subscribe to PawPawMood Pro, Stripe processes the payment. We store only your Stripe customer id, your plan, its status and the current period end. Card numbers never reach us.
- 🗺️ PawMap posts — anything you post to PawMap (the sticker image, pet name, mood, caption, place name and the map location you attach) is public and shown to everyone who opens the map.
- 🎟️ Free-tier counters — to keep the free readings fair we count them per account, and for guests per a salted, one-way hash of the IP address. The hash cannot be turned back into an address.
- 🍪 Cookies and browser storage — a cookie remembers your language, Supabase sets the cookies that keep you signed in, and your sticker collection lives in your browser’s local storage. There are no advertising cookies.
Services that process data on our behalf
- 🧠 OpenRouter (AI readings, routed to Google Gemini)
- 🗄️ Supabase (accounts and the journal database, hosted in Tokyo)
- 💳 Stripe (subscriptions and payments)
- ▲ Vercel (hosting, and Vercel Web Analytics)
- ☁️ Cloudflare (DNS, and Cloudflare Web Analytics)
- 📍 Google Maps and Google Places (the PawMap map tiles and place names)
Both analytics tools count page views in aggregate — page, referrer, country and device type — without cross-site tracking cookies or user profiles. Google Maps receives the usual request data from your browser when PawMap loads, under Google’s privacy policy.
Why we process it
To produce the reading you asked for, to keep your journal, to run subscriptions, to stop the free tier from being abused, and to understand in aggregate how the site is used. We do not sell personal data and we do not use your photos to train models.
Your choices
- 🗑️ Delete any journal entry from the journal page at any time.
- ✉️ Email xiehandi@gmail.com to get a copy of your data or to delete your account and everything tied to it.
- 🚫 Use the site as a guest: nothing is saved beyond the free-tier counter.
Children
PawPawMood is not directed at children under 13, and we do not knowingly collect their data. If you believe a child has created an account, email us and we will remove it.
Changes
When this policy changes, the new version is published here with a new effective date. Material changes are also announced on the site.
See also the Terms of Service.