1. Who We Are
Shinro OÜ, a company registered in Estonia ("Shinro", "we", "us"), publishes the apps listed at shin.ro, including Codex Books, Codex IPO, and Codex GameHawk, and runs this website. Shinro OÜ is the controller for the personal data described in this policy. You can reach us any time at contact@shin.ro.
2. Apps Without Accounts: Codex Books and Codex IPO
Codex Books and Codex IPO have no accounts, and Shinro runs no server for them: we never receive your library, watchlist, searches, or API keys. Not every copy of your data stays on the device, though:
- Your own cloud copies: Codex Books syncs your library through your own iCloud account on iPhone and iPad. Both apps' data can also be included in your iPhone or iPad backup and in Android's backup to your Google account. Apple and Google hold these copies under your account; we cannot see them.
- Lookups: requests go straight from your device to the services the app needs: book catalogues and cover-image servers for Codex Books; Finnhub and the AI provider you choose, with your own API keys, for Codex IPO.
- Crash reports: sent to Firebase Crashlytics, which Google runs on our behalf (section 9).
- Scanning on Android: Codex Books recognizes barcodes and cover text with Google ML Kit on the device. ML Kit does not upload the photos or the text it recognizes (the app may still send recognized text to book catalogues as a lookup, as above), but it sends Google usage data with device and app information and a per-installation identifier. The Codex Books policy has the detail.
Deleting the app removes the copy on your device, but not the cloud and backup copies, crash reports already sent, or what lookup services have already received. Section 12 explains how to remove each. Full detail: Codex Books, Codex IPO.
3. The Heavens: Void
The Heavens: Void runs entirely on your device. It has no account and sends no data to Shinro.
4. Apps With Accounts: Codex GameHawk
Codex GameHawk uses a Shinro server to sync your games, track prices, and send alerts. Its full policy has the detail; in summary, when you sign in with Apple or Google we store:
- Your account: a random account ID, the identifier your sign-in provider gives us, and the email address the provider shares when you first sign in.
- Your games: the wishlist and owned games the app syncs from the storefronts you connect (game identifier, title, cover-art address, and playtime for owned games), the prices you want to be alerted at, and the alerts already sent.
- Your storefronts and devices: which storefronts you have connected, with their region and last sync time; a push token per device; and records of your sign-in sessions.
- Purchases: if you buy a Hawk tier, the product, its expiry, and the store's purchase reference, which we use to confirm the purchase with Apple or Google.
Payment itself is handled entirely by the App Store or Google Play: we never receive your card or bank details. Storefront usernames, passwords, and tokens never reach us either; storefront sign-in happens on your device and the tokens stay there. The server is hosted by Hostinger in Frankfurt, Germany.
5. This Website
shin.ro is a static website. It sets no cookies and uses no analytics, advertising, or third-party content; fonts are served from our own server. To deliver each page, our web server receives your IP address, the page requested, and the standard headers your browser sends (such as its type and language). These are kept in server logs for one month for security and troubleshooting, then deleted. The web server and its logs are in Germany.
Legal basis: our legitimate interest in operating and securing the website (GDPR Art. 6(1)(f)).
6. Contacting Us
The contact page sends nothing to us by itself: it opens a draft in your own email app, which you review and send. The Contact links in our apps do the same; the draft's subject names the app and its version, and nothing else is added.
When you write to contact@shin.ro, we receive your email address, your name if your email app includes it, and what you write. Our mailbox is hosted by our email provider on servers in Romania. We use your message only to answer and follow up on it.
We keep correspondence for up to 24 months after the last message, unless we need it longer to handle a legal claim, then delete it. You can ask us to delete it sooner.
Legal basis: our legitimate interest in answering enquiries (Art. 6(1)(f)), or performing our contract with you (Art. 6(1)(b)) when the message concerns an account or purchase.
7. How We Use Stored Data
Stored data is used only to provide the service it belongs to, such as checking storefront prices for the games you track and notifying your devices about deals. We do not sell data, share it with advertisers, or use it for profiling.
8. App Integrity, Server Logs & Abuse Prevention
Codex GameHawk includes a device attestation with each sign-in (Apple App Attest on iOS, Google Play Integrity on Android), which proves to our server that the request comes from a genuine copy of the app on genuine hardware. On iOS we store the public key of the app installation's attestation identity; it is linked to your account only through your sign-in sessions. Play Integrity results are checked and not stored.
The Codex GameHawk server logs sign-ins and new accounts with the account ID and IP address, and failed requests with their address and IP address. These application logs are deleted at the first daily cleanup after 30 days (at most about 31 days). Its web server logs every request with the IP address, time, address requested, response status, and browser details, and deletes these logs after about 15 days. Rate limits, keyed to accounts and IP addresses, are kept only in memory. An intrusion-prevention tool on the server reads the web server (nginx) access and error logs, the system log, the SSH login log, and the new-account log entries to detect and block abuse, such as IP addresses that create many accounts in a short time. It blocks an IP address for up to 7 days and deletes its records of it after 7 days; it shares nothing with its developer or anyone else. Logs and block records are used for security and operations only, never for marketing or profiling, on the basis of our legitimate interest in protecting the service from abuse (GDPR Art. 6(1)(f)). Website logs are described in section 5.
9. Crash Diagnostics
Codex Books, Codex IPO, and Codex GameHawk, on iOS and Android, use Firebase Crashlytics, a Google service, to report crashes so they can be fixed. A report holds the stack trace, the app version, the device model and operating system version, and two pseudonymous identifiers (a Crashlytics installation UUID and a Firebase installation ID) that group reports from one installation. It contains no name, email address, account ID, credentials, or app content such as your library, watchlist, or searches. Because of the installation identifiers, some privacy laws still treat reports as personal data.
Crash reporting is on by default. Each app has a Send crash reports switch in its Settings: turning it off stops new reports, but reports already waiting on the device are not deleted and may be sent if you turn it back on.
Firebase states that Crashlytics keeps crash reports and their identifiers for 90 days before beginning to remove them from its live and backup systems. We do not export them anywhere else. Google may process them outside the EU under its Firebase Data Processing and Security Terms.
Legal basis: our legitimate interest in keeping the apps stable and secure (Art. 6(1)(f)).
10. Third Parties
Our apps talk to third parties only as their function requires. The Codex GameHawk server queries storefront price interfaces with game identifiers and regions only, matches games across storefronts via IGDB by title and platform, verifies purchases with Apple and Google, and delivers push notifications through Apple (APNs) and Google (FCM). Artwork is loaded from each provider's own servers. Apps without a backend send requests from your device directly to the providers they use. Crash reports go to Google's Firebase Crashlytics (section 9).
11. Where Data Is Kept
This website and the Codex GameHawk server run in Germany, and our mailbox is in Romania, all within the EU. Google (Firebase, FCM, Google Play), Apple (iCloud, APNs, App Store), and the lookup services our apps use may process data in other countries under their own safeguards.
12. Retention & Deleting Your Data
- On your device: deleting an app removes its data from the device, with two exceptions on iPhone and iPad, where the system keeps an app's Keychain entries after the app is deleted. API keys saved in Codex IPO stay there, so remove them in the app first (Settings, Remove key). Codex GameHawk's sign-in and storefront credentials also stay until the app is installed again and erases them on first launch, so sign out or delete your account before deleting the app.
- Your cloud copies and backups: the Codex Books iCloud copy stays in your iCloud account and returns if you reinstall; device backups and Android's Google backup keep their copies until they are replaced or deleted. You manage these in your Apple or Google settings.
- Crash reports: kept by Firebase for 90 days (section 9).
- Lookups already sent to book catalogues, Finnhub, Anthropic, or OpenAI are kept under those services' own policies.
- Codex GameHawk: data is kept while your account exists, and uninstalling the app does not delete it. Settings → Account → Delete account in the app removes your account and everything attached to it immediately and permanently. Application logs that mention the account are deleted at the first daily cleanup after 30 days (at most about 31 days), web server logs with your IP address after about 15 days, intrusion-prevention records of a blocked IP address after 7 days, and daily database backups within 16 days. See the Codex GameHawk policy for details.
- Messages to us: up to 24 months after the last message (section 6).
- Website logs: one month (section 5).
13. Your Rights
You may access, correct, or erase your data at any time: most of it directly in the app, and all of it via account deletion or by writing to us. If you are in the EU/EEA, these are your GDPR rights of access, rectification, erasure, restriction, portability, and objection to processing based on our legitimate interests. You may also lodge a complaint with the supervisory authority where you live, or with ours, the Estonian Data Protection Inspectorate (Andmekaitse Inspektsioon).
14. Changes to This Policy
If this policy changes, the new version is published at this address with an updated date. Material changes are called out in the affected apps.
15. Contact Us
Questions about this policy or your data:
Shinro