Privacy Policy
Last updated · April 28, 2026
Plain-language summary. Hanap-Bidet does not collect personal information. There are no accounts, no tracking cookies, no analytics, and no advertising integrations. Camera and GPS permissions are used only at the moment you submit a contribution or request walking directions, and they are released immediately after. Contributions are stored without any link back to who submitted them.
This summary is informational. The numbered sections below are the binding policy.
1. The short version
- No account. No login. No sign-up. Ever.
- We do not collect your name, email, phone number, IP address, device ID, or any other identifier that could be used to recognize you across visits.
- We do not use cookies for tracking. We do not integrate analytics, advertising pixels, or session-replay tooling.
- Geolocation and camera permissions are only requested at the exact moment you use a feature that needs them (directions, locate, or contributing). They are released immediately after.
- Contributions are anonymous. The photo and the GPS coordinates of the building are stored. No identifier of who submitted them is captured.
- The site is open source. Anyone can audit exactly what code runs in your browser and on the server.
2. What we do not collect
In the course of normal use, the site does not request, store, or transmit any of the following:
- Your full name, nickname, alias, or username.
- Your email address, phone number, or other contact details.
- Your UP student / employee ID or any institutional identifier.
- Your social media handles or profiles.
- Your IP address (beyond what your hosting provider sees at the network layer for routine request handling — see Section 6).
- Your device's advertising ID, IDFA, or fingerprint.
- Your contacts, calendar, microphone, or files unrelated to a photo you choose.
- Your browsing history, both on this site and elsewhere.
- Any payment information — the site is free.
3. What we do collect, when, and why
Only the following data is handled, and only for the corresponding feature:
That is the complete list. There is nothing else.
4. Anonymity of contributions
Contributions and reports are submitted without any user identifier. The site does not generate a user id, does not persist a session cookie that could link entries together, and does not store the IP address of the submitter alongside the row. From the maintainer's point of view, every submission is from “someone” — never from a named or trackable individual.
That also means we cannot send you a confirmation email, we cannot follow up if a submission is unclear, and we cannot restore a contribution to “your account” if you reinstall your browser. That trade-off is intentional.
5. Permissions in detail
Both geolocation and camera access happen through the standard browser permission system. The browser, not the site, owns the permission state. You can revoke either at any time from your browser's site settings, and the site will simply stop being able to use the corresponding feature.
- Geolocation uses
navigator.geolocation.getCurrentPosition. It runs once per request and is not kept open in the background. There is no continuous tracking. - Camera uses an HTML file picker with the
captureattribute. The browser opens the native camera UI. The site never receives a live video stream — only the still image you pick after taking the shot.
Photos are compressed in your browser before upload to minimize bandwidth and to strip large amounts of EXIF metadata that some camera apps embed. We don’t inspect EXIF values, but we recommend assuming nothing about EXIF survives the compression pass.
6. Local storage in your browser
The site uses your browser's localStorage for a few small, non-tracking conveniences:
- Whether the location permission explainer has already been shown.
- Your light/dark theme preference.
- A local cache of contributions you submitted yourself, so they appear immediately on your map even before the network round-trip completes.
These values never leave your device. Clearing site data in your browser wipes them. None are used to identify you.
7. Third-party services
The map is composed of several upstream services. When your browser fetches resources from them, those services see your network-level information (IP address, user agent) the same way they would for any website that uses them.
- OpenFreeMap and CARTO serve basemap tiles.
- OSRM (project-osrm.org or a self-hosted replacement) computes walking directions when you request them. Only the start and end coordinates of the route request are sent.
- Supabase stores approved photos, photo reports, and contribution records. Anonymous keys are used; no per-user authentication is performed.
- Vercel (or the project's chosen host) serves the static site. Like any web host, it observes request metadata for operational and abuse-prevention purposes.
Each provider has its own privacy policy that governs what they do with the network-level information they see. Hanap-Bidet does not pass any extra identifying data to them.
8. Data retention
Approved photos and approved contribution metadata are retained indefinitely as part of the public dataset. Pending entries that are rejected during review are deleted from the database, and their photos are removed from storage. Outstanding photo reports are removed once resolved.
Because the project is open source, prior versions of the public dataset may persist in the Git history of the repository. If you submitted something and want it removed after the fact, see Section 11.
9. Security
We use the standard security primitives of our hosting providers (TLS in transit, role-based access keys for the database, signed URLs for storage where appropriate). No system is invulnerable, but the attack surface is small: there is no login system to compromise and no user accounts to leak.
10. Children
The site is not directed at children under 13 and is not designed to collect any personal data from anyone. If you are under 13 and would like to contribute, please ask a parent or guardian to help.
11. Removal requests
Because submissions are anonymous, we cannot match a removal request to “your” submission by identity alone. If you would like a specific photo or contribution removed, the easiest path is to use the in-app Report action on the photo, which opens a report visible to the maintainers.
Alternatively, open an issue or send a message via the project's public repository describing the photo or pin (e.g. building, approximate time of submission). We act on good-faith removal requests promptly.
12. Open source transparency
You don't have to take this policy at face value. The full source code of the site is available in the project's public repository — including every network call, every storage write, and the SQL schema for the database. Independent audits and pull requests are welcomed.
13. Changes to this policy
If this policy changes in a way that affects how data is handled, the “Last updated” date above will move and a brief note describing the change will be added to the project changelog. Continued use of the site after a change means you accept the new version.
14. Contact
For privacy questions, takedown requests, or anything else related to this policy, please open an issue in the project's public repository (linked from the footer of the README). For urgent content concerns, the in-app “Report” button on a photo is the fastest path.