1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# Play Store listing
Copy for the Play Console listing. Character limits are Google's.
## App name (30)
```
Grain
```
## Short description (80)
```
A photography community on the AT Protocol. Share your work, keep your metadata.
```
(79 characters.)
## Full description (4000)
```
Grain is a photography community built on the AT Protocol — the open network
behind Bluesky. Your account, your followers and your photographs live in your
own repository, not on someone else's servers.
SHARE YOUR WORK
Post galleries of up to 20 photographs. Add a title, a description, and alt
text for each frame. Your photos upload at full quality and keep the aspect
ratio you shot them at — no forced square crops.
CAMERA DATA THAT SURVIVES
Grain reads the EXIF from your files and publishes it alongside each frame:
camera body, lens, focal length, aperture, shutter speed and ISO. Browse the
feed and you can see what someone shot with, not just what they shot. Every
gallery lets you decide whether to include it before you post.
FOLLOW PHOTOGRAPHERS
A feed of people whose work you actually want to see. Favourite galleries,
comment on them, and reply in threads.
STORIES
Post a photograph that disappears after 24 hours.
BUILT ON THE AT PROTOCOL
Grain uses the same open protocol as Bluesky. Sign in with your existing
handle. Your posts are records in your own repository, which means you can
take them elsewhere — the network isn't the property of whoever runs the app.
Grain is open source.
```
## Category
Photography
## Tags
photography, camera, social, community
## Contact details
- Email: (required — a real, monitored address)
- Website: https://grain.social
- Privacy policy: (required before any track can go live)
## Graphics checklist
- [x] App icon 512x512 — `store/play-store-icon-512.png`
- [x] Feature graphic 1024x500 — `store/play-feature-graphic-1024x500.png`
(regenerate with `python3 tools/generate_feature_graphic.py`)
- [ ] Phone screenshots, 2-8, min 320px on the short edge
- [ ] Tablet screenshots — optional, but their absence limits tablet visibility
Screenshots should show your own galleries. The feed renders other people's
photographs, which aren't yours to put in a store listing.
## Data safety answers
The form asks what leaves the device. For Grain:
- **Personal info → Name**: collected, not shared. The display name and handle
on the user's AT Protocol account.
- **Photos and videos → Photos**: collected, and *shared* — a published gallery
is public by design, federated to the wider network.
- **App activity**: favourites, comments and follows are records the user
publishes; public.
- **Location**: not collected. The location picker is not ported to Android.
- **Device or other IDs**: not collected.
Everything is transmitted over HTTPS. Users can delete any gallery, comment or
story from within the app, and deleting a record removes it from their
repository — that satisfies the "users can request data deletion" question.
Note this describes the Android build specifically. It collects less than iOS,
which also handles location.