Layer

What to wear, what to bring.

View the Project on GitHub jordanmgibson/layer-app

Privacy Policy — Layer

Last updated: 31 July 2026

Layer is built so that the interesting things about you stay on your phone. This policy describes what that means concretely.

The short version

What stays on your device

All of the following is stored locally, in Layer’s own container, and is never transmitted:

You can export all of it from Settings → Data & privacy → Export data, and you can erase all of it by deleting the app.

Location

Layer asks for When In Use location for one purpose: to fetch the forecast for where you are. The coordinates are passed directly to Apple’s WeatherKit from your device and are not sent to us, stored on a server, or shared with anyone.

You can decline. The app still works — it falls back to a default city, and Settings lets you type a city name instead.

Weather data

Forecasts come from Apple WeatherKit. Requests go from your device to Apple. Apple’s handling of that request is governed by Apple’s Privacy Policy. We receive nothing about it.

The anonymous contribution (optional, and off with one switch)

Layer’s recommendations start from a community baseline, so a new user gets a good guess on day one rather than a generic one. That baseline is built from anonymous rows contributed by people who leave the setting on.

If you leave it on, a contributed row looks like this and nothing more:

climate_zone:          "Cfa"      (a Köppen zone shared by millions of people)
effective_temp_bucket: 55-60      (bucketed, never exact)
wind_bucket, humidity_bucket, sun_bucket, hour_bucket
outfit_total_warmth:   6          (a number, not your clothes)
comfort_rating:        -1         (the five-point scale)
vibe:                  "casual"
user_offset_at_time:   -3         (so the baseline can be de-biased)

What is never included: coordinates, city, your wardrobe, item names, photos, timestamps finer than the hour bucket, or any identifier that persists between submissions. There is no user account server-side, so there is nothing for a row to be attached to. Rows are submitted in batches on a randomised delay, so the timing of a submission cannot reconstruct your schedule.

A given (zone × condition) cell must have at least 50 distinct contributions before it is used at all.

Turn it off in Settings → Data & privacy. The app works exactly the same for you either way.

Note for version 1.0: contribution is not yet enabled in the shipping build — the app only reads the baseline that ships inside it. The switch is present and is honoured; when contribution turns on in a future version it will already be set to whatever you chose.

Notifications

The morning brief and the wind-down check-in are scheduled locally on your device from times you choose. There is no push server, no device token, and the notifications work offline.

Analytics and tracking

Layer contains no analytics SDK, no advertising SDK, no tracking pixels, and no third party code that phones home. We do not use the Advertising Identifier. We do not track you across apps or websites.

Children

Layer is rated 4+ and collects nothing, so there is nothing to collect from a child either. We do not knowingly gather personal information from anyone, of any age.

Changes

If this policy changes, the date at the top changes with it, and any change that affects what leaves your device will be surfaced in the app before it takes effect.

Contact

jordanmgibson@outlook.com