It doesn't, exactly — and that is the point. RIPEN never asks for your location. It reads your time zone, which the phone gives up without a permission dialog, and that turns out to be enough for a sky you would recognise.
The tree stands under a real sky. Sun and moon follow your real date and hour, the seasons turn, and above them stand 5,044 stars — every star down to about the faintest the naked eye can see on a dark night. They are not scattered for decoration. Each one sits where it actually sits tonight, from where you are.
| 172 | stars down to magnitude 3 — the ones you can pick out from a city |
| 5,044 | down to magnitude 6 — what a dark sky gives you |
Each star carries its own measured colour, so Betelgeuse is warm and Rigel is blue. The Milky Way lies along the galaxy, at the angle your latitude and hour put it. And the planets do not twinkle — a planet shows a small disc rather than a point, and the air cannot wobble a disc the way it wobbles a point. That is how you tell one from a star with your own eyes, and it is the same in the app.
A location permission would have been the easy way to get this. We did not want it, for a reason that is not really about stars: RIPEN has no account, no analytics and no requirement to be online. Asking where you are, in order to place a shadow correctly, would have been the loudest contradiction in the whole app.
So the sky is built from what the phone gives freely — your time zone.
A time zone is not only an offset from UTC. It has a name, and the name is a place: `Europe/Warsaw`, `America/Sao_Paulo`, `Asia/Tokyo`. The identifier is built around a city, so it carries roughly where that city is — which is what a sky needs.
If the zone is one we recognise, the app places you near its city. If it isn't, it falls back to the zone's own meridian, which an offset alone is enough to work out. Either way nothing is asked and nothing leaves the phone.
A time zone is a wide thing. `America/Chicago` covers a lot of ground, and its city is probably not your city. So:
None of this needs your consent to a permission dialog, because none of it is your location. It is the shape of the time your phone already keeps.