Legal
Privacy Policy
Last updated: April 2026
Perch is a photo-sharing platform for bird photographers, built as part of Project Kestrel. This policy describes what data Perch collects, how it is used, and your rights over it.
1. What Perch stores
When you use Perch, the following data is stored on Perch's servers (Cloudflare D1 and R2):
| Data | Why |
|---|---|
| Display name (first + last name) | Shown on perches, comments, and likes you create |
| Perch handle (@username) | Your stable public identifier for sharing and profile URLs |
| Avatar URL | Displayed alongside your name in the UI |
| Perch content (titles, descriptions, scenes, photos) | The core content you create and choose to publish |
| Social interactions (likes, comments) | Your engagement with other users' perches |
| Account creation date | Shown on your public profile |
| Username change history | Used to enforce the 3-changes-per-30-days rate limit |
Perch does not store your email address. Email is held by Clerk (see §2) and fetched from Clerk on-demand only when Perch needs to send you a message.
2. What Clerk stores (our identity provider)
Perch uses Clerk to manage accounts, authentication, and sessions. Clerk stores your email address, password (hashed), and session tokens. Clerk is an independent data processor — please review Clerk's privacy policy for details on how they handle your data.
Perch uses Clerk's backend API to read your display name and avatar when rendering your profile. This data is cached for up to 7 days in Perch's database to reduce API calls.
3. Content visibility
Each perch you create has its own visibility setting:
| State | Who can see it |
|---|---|
| Draft | Only you (the owner) |
| Private | Only you |
| Unlisted | Anyone who has the share link, but the perch isn't listed on your profile |
| Invite only (restricted) | You and specific users you have explicitly invited by their Perch handle |
| Public | Anyone with the link, including people who are not signed in. The perch is also listed on your profile. |
When you make a perch public, your display name appears on it and the perch may be indexed by search engines. Publishing is an intentional act; you can unpublish at any time.
Profile visibility
Your profile page (at /profile.html?username=<your-handle>) and the public list of your perches have a separate Public / Private toggle on the
Account Settings page.
Setting your profile to Private hides the profile page (it returns Not Found) and prevents your public-perch list from being enumerated by handle. People you've explicitly shared individual perches with can still view those perches — the toggle controls discovery, not access to specific content you've shared.
4. Email communications
Perch may send transactional emails (such as group invitations or access notifications) using the email address associated with your Clerk account. Your email address is fetched from Clerk at send time and is not stored on Perch's servers.
Perch does not send marketing emails and does not share your email with third parties.
5. Account deletion and your rights
You can delete your Perch account at any time from Account Settings. Deletion permanently removes:
- All your perches, scenes, and uploaded photos (from both our database and storage)
- All your likes and comments on other users' perches
- Your Perch profile and handle
- Your Clerk account (email and password)
Deletion is irreversible. If you have GDPR rights (right to erasure, right of access, data portability) or any other privacy-related request, please contact us at the address below.
6. Data storage and security
Perch's data is stored on Cloudflare's global infrastructure (D1 database and R2 object storage). Cloudflare's data processing and security practices apply. All data in transit is encrypted via HTTPS.
7. Contact
For privacy questions, data requests, or to report a concern, open an issue at github.com/SanjaySoniLV/ProjectKestrel or reach out via the Project Kestrel website at projectkestrel.org.