Privacy Policy

Our UAE · Last updated September 2026

What we collect (and what we don't)

We do not collect any personally identifiable information. There are no user accounts, no advertising, and no third-party tracking SDKs.

The app does send anonymous event analytics to a server we operate ourselves on AWS, and, if it crashes or freezes, the diagnostic report described under Crash and performance diagnostics below. Each event is stored as its own record; they are not aggregated before they reach us. This helps us understand which features are actually useful so we can improve the app. The events that are sent contain:

We do not collect: your name, email address, contacts, location, IP-derived precise location, device identifiers (IDFA, IDFV), browsing history, files, photos, or anything that could identify you personally.

Crash and performance diagnostics

If the app crashes, freezes or misbehaves, iOS gives the app a report about it, on your device, through Apple's MetricKit. The app does not send us that report. It reads it on your device and sends a different one that it writes itself, out of a list of things it knows how to describe.

Two parts of Apple's report are written as ordinary sentences: the reason iOS gives for ending the app, and the message attached to a file or system error. Those are the parts where a file name, or something you typed, can turn up. The app does not send them. In their place it sends six things it recognises: which part of iOS ended the app, the type of error, the standard phrase for the kind of programming mistake that ended it, the name of the error type raised, and two things about a block of memory, its read and write permissions and how it is shared. Each of those six is chosen from a fixed list written into the app: the app compares what iOS said against that list and then sends the list's own wording.

Three more things travel with those and are not chosen from a list, so they are named here exactly. Two are numbers iOS attached, one to the ending and one to the error. A number is sent only when it sits in the same written part as the name it belongs to, after that name, in the format iOS itself uses. The only things allowed to sit between the two are punctuation, the word iOS writes in front of a code, and a short fixed list of words the kernel puts there itself, one of which carries a number of its own that the app skips rather than reads. Anything else at all stops the search and the number is dropped. Each number is also checked to be a number and nothing else. The third is the size of that block of memory, which the app works out by subtracting two addresses it read itself, so it is a measurement rather than anything iOS wrote.

Out of those two written parts the app copies no words at all. What it sends from them is a label chosen from a fixed list, or one of the two numbers described above beside the name that number belongs to; where it recognises nothing it records only that there was something there it could not read, never what that was. The same is true of an error type it does not know.

The stack trace is rebuilt, not filtered. The stack trace is the machine-written part of the report: a tree of steps showing where in the program the failure happened. The app reads Apple's tree and writes a new one containing only the pieces it has names for - for each step, the identifier of the piece of code it happened in, that piece of code's name, two numbers saying where inside it, and the steps underneath. Anything else in Apple's tree, including anything a future version of iOS adds to it, is counted and not copied: the report says how many things it did not recognise, never what they were. Because the new tree is written rather than edited, the only characters it can contain are letters, digits, and - . _ + with the punctuation that separates them: no space, no /, no @, and no letter outside the English alphabet. A file path needs its separator, an e-mail address needs its @, and a name written in another alphabet needs a letter that is not in that set, so none of those three can be written into it at all. Travelling with it: how many steps it wrote, if it left any out, how big Apple's own tree was, and whether it could read Apple's tree at all.

A web address is the one category of those four that is only partly closed, and this says so rather than rounding it up. A link with a / is refused, but a bare host name such as www.example.com uses only characters a code file's name may use, so nothing in the shape tells the two apart.

The app build, the iOS version and the processor type travel too. Each is checked against the exact shape it is meant to have - the iOS version, for instance, must be one of a fixed list of Apple platform names followed by a version number and, if present, a build code - and anything that does not match that shape is dropped and counted rather than sent.

What else travels: which of the four kinds of report this is, the low level exception and signal numbers iOS recorded, the app build, the iOS version and the processor type, the time window the report covers, and, where they apply, how long the app was frozen, how much it wrote to storage, and how much processor time it used.

One thing travels with it, and it is the same thing that travels with every other count we collect: an anonymous per-install code. It lets us tell that ten crashes came from one installation rather than from ten, and it is not your name, your e-mail or your Apple account. We keep the report for 90 days and use it only to fix the bug.

There is no setting in the app to turn crash and performance diagnostics off.

What the app shows you

Our UAE displays information about the United Arab Emirates drawn from official and trusted sources, each one named and linked in the app. The full content is bundled within the app and works offline.

Audio

The UAE national anthem audio file is stored locally within the app and played on your device only.

User-generated content

The Express Pride feature lets you compose a message and generate a shareable card. Your text is created and stored on your device. It is never transmitted to our servers. When you tap Share, you choose whether to send the card via Messages, Mail, social media, or another app.

Children

The app is rated 4+ and contains no content unsuitable for children. We do not knowingly collect personal information from anyone, regardless of age.

Data retention

Anonymous analytics events are retained for 12 months and then automatically deleted by AWS DynamoDB's built-in time-to-live (TTL) policy.

Crash and hang diagnostics are retained for 90 days and then automatically deleted.

Your choices

The app has no setting to turn off the anonymous analytics events or the crash and performance diagnostics described above; deleting the app stops both. If you install it again, it generates a fresh anonymous device hash that has no link to the previous one.

Contact

Questions? Email support@ouruae.app. See also our Terms of Service and Support pages.