Privacy policy
Portrait is a news app published by Olivier Nadeau Seguin. It shows one brief per story and links to the articles of the outlets that ran it. This page says what the app sends to our server, what the server keeps and what it does not.
In short
- No account, no sign-up, no advertising, no analytics or tracking tools.
- Your reading settings are used to compose your feed and are neither logged nor kept by the server.
- "Near me" sends nothing until you allow location; after that, an area of about 5 km and the id of the story read, never a precise position or a device identifier.
- Nothing is sold or passed to third parties for their own purposes.
What the app sends to our server
The feed and your settings. Every feed request carries your settings: section, interface language and language preference, outlet mix, followed or blocked outlets, barometer state, the story you dig into and how deep, search words. The server uses them to answer, then forgets them: they are stripped from any log (the production server keeps no access log), an error message never quotes their value, and nothing writes them to disk.
Votes. When you vote on a story, the app sends the story, the direction and a random identifier it created on this device at first launch, unrelated to Apple's or the hardware's identifiers. The server keeps a fingerprint (hash) of that identifier with the vote, to count one vote per device and let you change it, and a salted fingerprint of the network address to cap votes per address. Neither the identifier nor the address is kept in the clear. These fingerprints are deleted with the story when it leaves the feed.
Near me. If you open Near me and allow location, iOS provides an approximate position (reduced accuracy) that the app rounds to a cell of about 5 km before anything is sent. Each story read to the end is then reported as that cell and the story id, nothing else. The server keeps only counts, per cell, per story and per hour, for 24 hours: no identifier, no address, no coordinate, no time finer than the hour. Turning location off for Portrait in Settings stops it.
The network address. Like any server, ours sees the device's IP address with each request. It is used, in memory only, to limit the number of requests per minute; the production server keeps no access log.
What stays on your device
Your settings (language, outlet mix, followed or blocked outlets, audio mode), saved and seen stories, your votes and the random identifier are kept in the app's storage, on the device. The device's motion, which animates the pictures, never leaves it. Deleting the app erases all of it.
Third-party services the app uses
- The outlets. Pictures are loaded directly from the outlets' servers, and an article opens in an in-app Safari view; those sites see your visit under their own policies.
- YouTube. Videos are the official embedded YouTube player; Google may collect data within that player under its privacy policy.
- Apple. Location (Location Services, reduced accuracy), the map (Apple Maps) and the reading voice (the device's speech synthesis, produced on the device) are iOS services under Apple's policy.
- The briefs. They are written by an artificial-intelligence model (Anthropic) from the outlets' public feeds, on our server; no reader data is sent to it.
Children
Portrait is not directed at children under 13 and knowingly collects no information about them.
Your rights
We keep no record that identifies you. For any question, access or deletion request (for instance the votes tied to your device's identifier), write to olivier@makina.ca. Person in charge of the protection of personal information: Olivier Nadeau Seguin, same address. This policy follows Québec's Law 25 and Canada's PIPEDA.
Changes
This policy may change; the date at the top says which version applies.