Poems by Mood Privacy Policy
1. Controller
- Kiryl Anokhin, sole proprietorship (JDG), Poland
- NIP: 8982272619
- REGON: 521004109
- Address: ul. Chorwacka 41B-13, Wrocław, Poland
- Privacy contact: [email protected]
Current version: v1.1, effective 15 October 2026.
"Poems by Mood" (Стихи под настроение) is a reading app for discovering poetry by mood, theme, author, and free-text prompt. With In your voice you can record yourself reading a poem and, if you choose, send that recording to someone as a voice card — a link to a page on poets.by. It has no user accounts — there is no sign-up, sign-in, or user profile, and no recording is tied to a person.
2. What data is processed
Local-only (stored on your device)
The following data is stored in the app's local storage (AsyncStorage, the app's documents folder and the app cache). It does not leave your device, apart from what you deliberately send when you create a voice card (see Voice cards below):
- your favorites (poems, authors, themes), recently opened poems, and reading history;
- your recent and saved searches, including smart-search history;
- app settings (interface and content languages, color scheme, text size, density, accent, daily-poem time and toggle);
- your In your voice recordings — the audio files and each recording's date, duration and poem; the audio leaves the device only if you turn a recording into a voice card (see Microphone and Voice cards below);
- for a voice card you have created: the link address, the management key that lets the app edit or withdraw it, and copies of the dedication and signature you sent with the recording;
- a random install identifier, generated once by the app and sent to the server only when you create a voice card (see below); it is separate from the analytics identifier described further down;
- a local cache of poems and downloaded audio (a rolling on-device cache, up to ~1 GB, that evicts the least-recently-used items).
You can delete a recording in the app at any time. When you uninstall the app, all of this data is removed automatically; a voice card you had created stays online until it is withdrawn (see below).
Microphone and In your voice recordings
The app asks for microphone access only when you tap the record button in In your voice. Recording never starts on its own. Audio is saved in the app's documents folder on your device; one recording is kept per poem, and a new take replaces the previous one. You can listen to a recording, re-record it, keep a copy through the system share sheet, or delete it at any time. Recordings are never uploaded to any server unless you create a voice card (see the next section), and they are never included in analytics or crash reports. Declining microphone access does not affect reading or listening to poems.
Voice cards (optional upload)
Nothing is shared by default. A voice card is created only when you tap Create the card in the app. When you do, the app sends to poets.by:
- the audio of that one recording;
- the identifier of the catalogue poem you read (the poem texts in the app are already published; the text itself is not sent);
- the dedication you typed, if any (up to 200 characters and no more than six lines, without links or contact details);
- the signature you typed, if any: a short "from" line, such as your name or a nickname (up to 60 characters, one line, without links or contact details). It is never verified and you can leave it empty;
- your interface language, so the page opens in it;
- the app's random install identifier. The server stores it only as a salted hash and uses it only to limit how many voice cards one installation can create per day.
As with any request over the internet, the server sees the IP address the upload came from. We do not store that address: only a two-letter country code derived from it is kept with the card, and it is never shown on the page. That country code, the dedication, the signature and the hashed install identifier are visible to the Operator in the moderation panel, where we can open and listen to a card — above all when it has been reported.
The server re-encodes the audio (mono AAC with normalised loudness), removes any metadata from the file and stores it with our hosting provider. The card gets a link on poets.by that is unlisted but public: anyone who has the link can listen, and the page is marked not to be indexed by search engines. The page shows the poem, the author, the date, your dedication and your signature. It shows nothing about you beyond what you typed into those two fields and carries no account or device information. When you send the link, a messenger or social network may show a link preview with the poem's title, the author and the beginning of your dedication — as it does for any link; the page itself stays closed to search engines. The link is not tied to a person on our side either; it is tied only to the management key, which stays on your device.
The server also keeps, for each voice card, the date it was last played and the number of reports it has received. Reports from listeners are stored as a salted hash of the reporter's IP address, used only to count distinct reporters; a card reported by three different people is hidden automatically pending review. It also counts how many times the page was opened and playback was started, and how many different listeners did so. For that count a listener is a salted hash of their IP address and browser identifier, which cannot be turned back into either and is kept only while the card is online. The card's page is part of the poets.by website, so anyone who opens it is covered by the website privacy policy; the site's analytics runs only after consent is given in the cookie banner.
A voice card stays online only while you share it. You withdraw it from the app with Stop sharing or by deleting the recording; you can edit the dedication and signature from the same phone, and re-recording lets you replace the audio at the same link. If you no longer have the app or the phone, write to [email protected] with the link and we will remove it. The Operator may also hide or remove a card after reports or at its own discretion.
Network requests
The app talks to the poets.by API (/api/poemsbymood/*) to load public poetry content: browsing the catalogue, fetching poem and author details, related poems, analyses, the daily poem, and streaming audio narration.
Two features send text you type to the server so it can return results:
- Search — your search words are sent to find matching poems by title or text.
- Smart (semantic) search — the free-text prompt you write (a description in your own words) is sent so the server can interpret its meaning and return matching poems.
One more feature runs only on your decision:
- Voice cards — the upload described above goes to
/api/poemsbymood/recitals, and later edits or withdrawal go to the same address with the management key. The card's page, audio playback, counters and listener reports are served by/api/recitals.
Apart from creating or managing a voice card, these requests do not contain any user identifier and are not tied to an account (there are none). The text you type is used only to produce results for that request.
IDFA (iOS) and ATT
The Operator does not use the Identifier for Advertisers (IDFA) for its own analytics or cross-app tracking. The ATT prompt shown by the app is requested solely on behalf of Google AdMob: if you accept, AdMob may use IDFA to serve personalised ads; if you decline, AdMob serves non-personalised ads. Either way, app functionality is unchanged.
Analytics (Amplitude)
We use Amplitude for anonymous product analytics: which screens you open and which features you use (for example, selecting a mood, opening a poem, or playing audio). Analytics is on by default; you can turn it off at any time in Profile → privacy, and the app will then stop sending usage statistics.
We do not send IDFA, advertising IDs, your email, your name, your recordings, dedications, signatures, or the text of your searches to Amplitude — search events carry only the mode and the length of the query, never its content, and In your voice events carry which poem you read, the recording's duration, whether a dedication or signature was filled in, and similar technical flags — never the audio itself or the text of those fields. The device identifier is a random UUID generated by the app and stored locally; it is regenerated when you reinstall the app. Analytics is active only in store builds; it is disabled in development.
Crash and error reporting (Sentry)
We use Sentry to receive crash reports and technical error diagnostics (stack traces, device model, OS version) so we can fix problems. This is independent of the analytics setting above and is intended purely for stability; it does not track your behaviour and is not used for advertising. Sentry is active only in store builds. We do not deliberately send personal data to Sentry: reports never carry your recordings, dedications or signatures.
Notifications
Notifications are local only. If you enable the daily "Poem of the day," the reminder is scheduled on your device at the time you choose. No push tokens are created or transmitted, and no notification servers are involved.
3. Advertising
The app displays ads through Google AdMob (native ads and interstitials). The app contains no in-app purchases or subscriptions.
- Before serving ads, the app shows a consent request (Google UMP / GDPR) where required by your region.
- On iOS: if you accept ATT, AdMob may use IDFA for ad personalisation; if you decline, ads will be non-personalised.
- On Android: AdMob may use the Google Advertising ID (GAID) according to your device settings. You can reset the ID or opt out of personalised ads in Android settings.
- AdMob may also collect coarse device and ad-interaction data (device model, OS version, IP address, ad clicks/impressions) for ad delivery, frequency capping, and fraud prevention. The Operator does not receive your IDFA, GAID, or IP address.
- See Google's privacy policy and How Google uses information from sites or apps that use our services for details.
4. Children
The app is not intended for persons under 13. It never asks for a name, age, email address or any other personal detail, has no accounts, and keeps everything you read and record on the device. The only thing that can leave the device is a voice card you deliberately choose to create; its page shows nothing about you beyond the dedication and signature you typed yourself, both of which are optional. A voice card must not contain personal data of other people, including children. We do not knowingly collect personal data from children under 13. If you are a parent or guardian and want anything connected with your child's use of the app removed, including a voice card, write to [email protected] (for a card, include its link).
5. Your rights and contact
If you have questions about your data, or want to exercise rights of access, erasure, or consent withdrawal, write to [email protected].
EU users: you may lodge a complaint with UODO (Poland), uodo.gov.pl. Russian users: Roskomnadzor. Belarus users: National Personal Data Protection Center.
6. Third parties
- Apple (App Store) — Apple Privacy
- Google (Play Store, AdMob) — Google Privacy
- Amplitude (analytics) — Amplitude Privacy
- Sentry (crash and error reporting) — Sentry Privacy
- Cloudflare (storage and delivery of voice-card audio) — Cloudflare Privacy
- API requests to poets.by may transit network infrastructure such as Cloudflare; apart from creating or managing a voice card, no device-level identifier is attached to these requests.
7. Retention
- Local data, including In your voice recordings — until you delete it in the app or uninstall the app entirely.
- A voice card — until you stop sharing it, delete or replace the recording, or until the Operator removes it after reports, on request, or at its discretion. When sharing stops, the audio and the page data are deleted; the hashed install identifier, the country code, the report hashes and the listener hashes are deleted with them.
- Requests to the content API are processed to return results and are not associated with any account or identity (the app has none). The smart-search service may cache query results temporarily to speed up repeated requests; cached entries are not linked to you.
8. Changes
When a new version of this Policy is issued, we will publish it at poets.by/poemsbymood/en/privacy and update it inside the app with the next release.
9. Contact
[email protected] — questions and data-subject rights requests. [email protected] — removal of a voice card (send the link).