Wren
English

Privacy for Android

Last updated 9 October 2026

The short version

The app has no accounts, and no analytics that identify you: it counts anonymously which steps people reach, with nothing that identifies you or your phone. Your screenshots and any file you import are read on your phone and are never uploaded. Two things do reach a server Wren runs, and only when you ask: a complimentary access code, if you were given one and enter it; and the link to a reel or post, if you share one for Wren to read. That post is fetched, read and discarded — nothing about it is kept, not the video, not the words, not the place names.

This website is a separate matter: it uses Google Analytics, and only if you accept the notice on your first visit. Declining sets no cookies.

Who this is

Wren is made by Spencer Fields, a sole trader established in the United Kingdom, at Lytchett House, 13 Freeland Park, Wareham Road, Lytchett Matravers, Poole, BH16 6FA. For anything in this policy, write to Apps [at] spencerfields [dot] com.

What Wren collects

Almost nothing, and only what you ask for. Two things reach a server Wren runs, each of them only when you choose it: entering a complimentary code sends that code and a random identifier for this installation, and sharing a reel or a post sends its link along with proof that you bought the feature. If you have not bought it, the first three posts you share are read free: to allow that, three per phone, Wren sends a one-way fingerprint of your phone's Android ID (a number Android gives each app, which does not change when you reinstall) and Google's confirmation that the request comes from the genuine Wren app. Only the fingerprint is kept, and only to count this phone's free reads. It is never used for advertising and never joined to anything else. Nothing else about you is collected, stored or shared. No account, no sign-in, no analytics that identify you, no advertising identifier, no crash reporting.

Separately, the app sends anonymous counts of the steps people reach, described under Anonymous usage counts; they carry nothing that identifies you or your phone. Apart from those, if you do neither, Wren never contacts a server of its own at all.

Your screenshots, and files you import

Read on the phone and never uploaded. The text recognition runs from a model inside the app itself, so reading a screenshot works with the network switched off and the image never leaves your device. The same holds for a CSV, GPX, KML or Takeout export you import.

What leaves your device, and where it goes

Four things, and none of them is a screenshot.

The first is the name of a place, and the city you confirmed it is in. Turning "Dishoom Shoreditch" into a coordinate means asking a map, and Android's own geocoder answers over the network — on most phones that is Google, under Google's privacy policy, exactly as it is for any app that looks up an address. Nothing else goes with it, and nothing goes at all until you ask for a lookup.

The city is one you chose in the app. Wren never asks where your phone is — there is no location permission, deliberately. It only asks where a named place is.

The second is a complimentary code and a random identifier, described next. The third is the address of a reel or post you choose to share, described after that. If you have not bought the feature, a one-way fingerprint of your phone goes with the first three posts you share, so that they can be read free, three per phone; that is described there too. The fourth is the anonymous step counts described under Anonymous usage counts.

Complimentary codes

Some people are given a code that unlocks paid features without paying. When a code is entered, two things are sent to a Cloudflare Worker run by the developer: the code, and a random identifier for this installation. The pair is stored so a code can be used once and not again — which is the whole reason a server is involved, since a phone has no way of knowing a code has already been used on a different phone.

The identifier is generated by Wren and derived from nothing: not your Android ID, not the advertising identifier, nothing about the hardware or your account. It identifies this installation and nothing beyond it. Uninstalling the app removes it, so a fresh install is a fresh identifier.

A small number of codes also grant administrative access to the developer's own code console. Only those are re-confirmed with the server, about once a day, so that such a code can be withdrawn. A re-confirmation sends the same two things and nothing more. An ordinary code is checked once, when it is entered, and never again.

If a code is rejected, the originating IP address is recorded on its own for up to an hour, so the endpoint cannot be hammered with guesses. It is not stored alongside the code or the identifier, it is not stored at all when a code succeeds, and it is deleted automatically.

Anonymous usage counts

From version 2.1.9, the app tells a server Wren runs when you reach certain steps: opening Wren for the first time, starting an import, reading a post, seeing a purchase sheet, tapping a buy button, the purchase completing or not, and saving a guide. Each message names the step, which kind it was where that matters (which product, for example), whether the phone is an Android phone or an iPhone, the app's version and the language it is showing.

Nothing identifies you or your phone. There is no identifier of any kind, nothing is stored on your phone to recognise it again, and the server keeps only a running total for each step and day — not the individual messages, and not the IP address they came from. The developer uses the totals to see where people stop before buying, which is the only reason they exist. They are not shared with anyone and are not used for advertising.

A reel or post you share

Sharing a link to a reel or a post is the one part of Wren that sends something you chose to a server Wren runs. Wren cannot read a post on the phone: a share sheet hands over a web address and never the video, so the post has to be fetched from somewhere.

What is sent is the link, and proof that you bought the feature. Nothing else — no name, no email address, no location, no screenshot, and no identifier for you. On Android that proof is the purchase token Google Play issued for the purchase, which the server checks with Google; a complimentary code works in its place.

If you have not bought it, the first three posts are read free, per phone. In place of a purchase, the app sends a one-way fingerprint (SHA-256) of the phone's Android ID and a Play Integrity token, which the server has Google check to confirm that the request comes from Wren as installed from Google Play, on a genuine device. The fingerprint is stored with that one read so the phone is not given a second; the Android ID itself never leaves the phone. Where Google offers it, the server may also set a flag that Google keeps for this phone, so that the free reads are not given again after a factory reset.

The server — a Cloudflare Worker run by the developer — fetches that post, has a language model read the place names out of its caption or its pictures, sends the names back to your phone, and discards the rest. Nothing about the post is stored: not the address, not the video or images, not the caption, not the names it found. Your phone then looks those names up exactly as it looks up a name read off a screenshot.

One row is written, and it records only that one purchase spent one unit of its monthly allowance. It says nothing about what was read. The allowance exists because each reading costs money to serve, and counting it is the only reason anything is kept at all.

Two other companies are involved in that moment and neither is told who you are. A service called ScrapeCreators fetches the post from the platform it is on, and may hold its own copy of what it fetched for a short time so that the same public post is not fetched twice. Google's Vertex AI runs the model that reads it; Google states that data sent to Vertex AI is not used to train its models. Wren is not affiliated with Instagram, TikTok or YouTube, and only ever asks for a post you have chosen to share.

Sending your list to another map app

The list is written to a file on your phone and handed to the app you pick. That hand-over is local: nothing is uploaded, and Wren is not involved once the other app has the file.

Google My Maps is the exception worth naming. Wren saves the file through Android's own save dialog, then opens google.com/maps/d/ in your browser. What happens next is your browser, in your own Google session — Wren uploads nothing and cannot see it.

Permissions

Two. Internet access, needed for the place lookup, for reading a post you share, and for a code if you enter one; and the billing permission Google Play requires of any app that sells something. No location, no camera, no contacts, and no access to files beyond the ones you hand it through the system picker.

What is stored on your device

If you redeemed a complimentary code, the signed reply confirming it. This is what lets Wren check your access offline. And the list of places you are working on, until you publish or clear it.

These are ordinary app storage on your phone, covered by your device's own encryption. Deleting Wren deletes them.

Instagram and other apps

Wren does not connect to Instagram, TikTok or any other service. It has no access to your accounts on them and does not read, scrape or download anything from them. It only reads screenshots you have taken and chosen to share with it.

Children

Wren is not directed at children and collects no personal data from anyone, of any age.

Your rights

Under the UK GDPR and the EU GDPR you have rights of access, correction, erasure, restriction, objection and portability over personal data held about you.

If you have never entered a complimentary code, Wren holds nothing at all about you, so in practice there is nothing to access, correct or erase. If you have, the one record is the code you used and the random device identifier that came with it, kept so the code cannot be used again. Write to the address above and it will be deleted, or sent to you, within one month. Deleting it releases the code for someone else.

If you are in the United Kingdom, you may also complain to the Information Commissioner's Office.

This website

This site uses Google Analytics to count visits and see which pages people read, and Microsoft Clarity to see which parts of a page are read and where people get stuck. They are the only third parties on the site, there is no advertising, and nothing here is used to build a profile of you or to follow you elsewhere.

Nothing loads until you agree. Analytics cookies are not strictly necessary, so under the Privacy and Electronic Communications Regulations they need your consent first. A notice appears on your first visit with Accept and Decline. Until you choose, Google Consent Mode holds every storage type at "denied" and neither the Google nor the Microsoft script is loaded at all — so declining sets no cookies and sends both of them nothing. Your choice is kept in your browser's local storage so the notice appears once.

To change your mind, clear this site's data in your browser and the notice will appear again.

If you accept, Google receives the ordinary analytics signals — the pages you view, roughly where you are, and what sort of device and browser you use — and sets cookies to tell one visit from the next. Google acts as a data processor for that, and its handling is governed by Google's privacy policy. Advertising and personalisation signals stay denied whatever you choose.

Microsoft Clarity goes further than counting. If you accept, it records how a page is scrolled and clicked during your visit and replays those interactions, and it sets its own cookies to tell one visit from the next. Anything typed into a form field or chosen from a drop-down is masked before it leaves your browser: Clarity masks these in every mode it offers and provides no way to switch that off. On the setting in use here, numbers and email addresses appearing anywhere on the page are masked as well. Microsoft acts as a data processor for this, and its handling is governed by the Microsoft privacy statement. Because a recording of a visit is not aggregate information, it is not something that may be run without asking, which is why the choice is offered rather than assumed.

Separately, the hosting provider keeps ordinary server access logs, which is normal for any website and is not something Wren reads or uses.

None of this applies to the app. Wren the Android app uses none of this. Its only analytics are the anonymous step counts described above, which go to a server Wren runs and identify nobody. This section is about this website only.

Changes

If this policy changes, the date at the top changes with it. Material changes will be noted on this page rather than made quietly.