Moneta — Privacy Policy / Політика конфіденційності
Effective date / Дата набрання чинності: 13 November 2026 / 13 листопада 2026
App / Застосунок: Moneta (com.moneta.personalfinance), developer Osvald Studio
English
Summary
Moneta keeps your financial records on your device. There is no Moneta account, no advertising and no analytics or crash-reporting SDKs. Without the optional Family feature, your records stay on your device and in the backups you turn on, and the developer never receives them. If you create or join a family, the changes you share pass through the Moneta family server end-to-end encrypted; what that server stores and can see is listed in «Family server» below. The app connects to the internet only for features you turn on or use yourself: encrypted Google Drive backup, an AI assistant with a provider you choose, read-only exchange balances with your own API keys, public exchange-rate and price feeds, and public vehicle databases. Each is described below.
Data stored on your device
| Data | Why | Where it stays |
|---|---|---|
| Incomes, expenses, accounts, subscriptions, credits, planned payments, crypto and stock holdings, car and apartment records, fuel logs, notes | The app's core purpose | Private app storage; Android auto-backup is disabled (allowBackup="false") |
| API keys, access tokens and the backup password | For the optional features below | Encrypted with a non-exportable AES-256-GCM key from the Android Keystore, in private app storage; unreadable if copied to another device |
| Photos you attach (e.g. to a car or a record) | To show them in the app | Chosen through the Android photo picker and copied into private app storage; no storage permission is needed |
| Receipt scans | To read the amount from a receipt | The camera image is processed on the device with ML Kit text recognition; the image is not stored or uploaded |
| Manual export / import (JSON or CSV file) | To move your data yourself | Only to the file you pick through the Android file picker; exports can be protected with a password (AES-256-CBC + HMAC-SHA256, PBKDF2 key) |
| Home-screen widget | To show totals | Local cache on the device |
Optional features that use the internet
- Google Drive backup (off by default). When you turn it on, you sign in with Google (OAuth, scopes
drive.appdataandemail). Before upload every backup is encrypted on your device with a password only you know (AES-256-CBC with HMAC-SHA256, PBKDF2-HMAC-SHA256 key derivation); without the password the file cannot be opened, and the developer never has it. Backups go to the hidden app-data folder of your Google Drive; old copies are pruned according to your setting. The app shows the e-mail of the signed-in account and keeps the OAuth tokens encrypted locally. Google processes the sign-in and the stored file under Google's privacy policy. Signing out revokes the token. - AI assistant (off until you configure a provider). You choose the provider — OpenAI, Google Gemini, NVIDIA, xkiro, a custom OpenAI-compatible endpoint, or a local server on your phone (
127.0.0.1) — and enter your own API key, which is stored encrypted on the device and sent only to that provider as an authorisation header. Each request sends your chat messages (the last 20), a short financial summary (monthly income, expenses, balance, total capital, savings rate, top five expense categories, number and total of subscriptions, number of credits), your category list, and your credit and subscription records (names, amounts, dates, payment accounts, categories — private notes are excluded). The car assistant sends the selected car's profile, maintenance plan and fuel logs. The provider processes this under its own privacy policy. Requests use HTTPS except to the local server on your own phone. - Exchange balances (optional). If you add a Binance or OKX API key, the app first checks with the exchange that the key is read-only (no trading or withdrawals) and refuses keys that are not. Keys are stored encrypted on the device and sent only to that exchange to read your balances and earn positions.
- Rates and prices: exchange rates from the National Bank of Ukraine (
bank.gov.ua), crypto prices from CoinGecko and stock quotes from Stooq. These requests contain only currency or ticker symbols, never your amounts or identity. - Vehicle lookup (only when you use it): VIN decoding and recalls from the U.S. NHTSA (
vpic.nhtsa.dot.gov,api.nhtsa.gov), fuel-economy data fromfueleconomy.gov(make, model, year), and, if you enter your own API key for it, Ukrainian registry data frombaza-gai.com.ua(licence plate or VIN you typed). - Purchases through Google Play Billing (Android): Premium as a one-time lifetime purchase or a monthly or yearly subscription, and the Family subscription. Payment is handled entirely by Google Play; the app never sees your payment details and only checks the purchase status with Google Play on your device. Tips are no longer sold; a support subscription bought earlier can still be managed or cancelled in Google Play.
- Google Wallet payment capture (optional, opt-in, available in builds that include it). If you turn it on and grant Notification access, the app reads notifications only from the Google Wallet app (
com.google.android.apps.walletnfcrel), extracts amount, currency and merchant, and shows a local notification so you can categorise the expense. Nothing is read from other apps and nothing leaves the device. Revoke at any time in Android Settings → Notifications → Device & app notifications.
Permissions
- Internet / network state (
INTERNET,ACCESS_NETWORK_STATE): for the optional features above and to schedule the Drive backup only when a network is available. - Camera (
CAMERA): receipt scanning, only while you use it; marked as not required. - Start at boot (
RECEIVE_BOOT_COMPLETED): to reschedule recurring-payment reminders and the backup job after a reboot. - Notifications (
POST_NOTIFICATIONS, where included): local reminders about recurring payments and captured payments. - Storage (
READ_EXTERNAL_STORAGE, Android 9 and older only): to import files on old Android versions.
The app does not request contacts, location, microphone, phone or SMS permissions.
Moneta on iPhone
The iPhone version keeps the same rule: your records stay on your device and the developer never receives them. These points differ from Android:
- Purchases through Apple. Premium is sold as an App Store in-app purchase: a one-time lifetime purchase or an auto-renewing monthly or yearly subscription. Apple processes the payment; Moneta never receives your card or payment details, only the purchase status that StoreKit reports on your device, which the app uses to unlock Premium. Subscriptions renew automatically unless cancelled at least 24 hours before the end of the period; manage or cancel them in Settings → your name → Subscriptions. «Restore purchases» asks the App Store for your earlier purchases only when you tap it. There are no tips on iPhone.
- Storage and secrets. Records are kept in the app's private storage. API keys, tokens and the backup password are stored in the iOS Keychain, available only on this device after it was first unlocked.
- Backups. You can save encrypted backups to your iCloud Drive (the app's own iCloud container), or export a file through the Files picker. iCloud backups are encrypted on the device with your password (AES-256-CBC with HMAC-SHA256, PBKDF2-HMAC-SHA256 key derivation) before they leave the app; an exported file is encrypted the same way when you set a password. Apple stores iCloud files under its own privacy policy. Google Drive backup is not available on iPhone.
- Face ID / Touch ID (optional app lock). The check is done by iOS; Moneta only learns whether it succeeded and never gets biometric data.
- Camera and photos (only when you use them): photos you take or pick for a car, receipt, meter or document are copied into the app's private storage. Receipt amount scanning is not available on iPhone.
- Local network (only if you set it up): to reach an AI server on your own network.
- Family (optional; on iPhone you can join a family by invitation): see «Family server» below.
- Same as above on iPhone: the AI assistant with the provider and key you choose, read-only exchange balances, exchange-rate and price feeds, and vehicle lookups work and send the same data as described in «Optional features that use the internet».
- Not on iPhone: receipt amount scanning, the home-screen widget and Google Wallet notification capture are Android-only. Instead, iPhone offers a Shortcuts action «Add payment to Moneta» (amount, currency, merchant, date) that you can run yourself, for example from a Wallet automation; it only queues the payment inside Moneta on your device so you can choose its category.
- Permissions on iPhone, each asked only when you use the feature: camera, photos (picked through the system photo picker), Face ID, local network (only for an AI server you set up) and notifications (local reminders, for example about recurring payments). The app does not ask for contacts, location, microphone or tracking.
- No advertising, analytics, tracking or crash-reporting SDKs.
Family server
Family (optional) uses a server run by the developer on Cloudflare Workers with a Cloudflare D1 database (Cloudflare, Inc.; Cloudflare chooses where the data is stored). Address: moneta-family.osvaldstudio.workers.dev. On iPhone you can join a family by invitation; creating a family is available on Android.
- Encrypted on your device, unreadable to the server: the content of every shared record (amounts, names, categories, notes) and member display names. They are encrypted with AES-256-GCM using the family key. The key travels only inside the invitation link, in the part after «#», which is never sent to the server; it is kept in secure storage on members' devices.
- Stored in readable form: a device identifier (a SHA-256 hash of the device's public key) and that public key; when the device was registered and last active; which family it belongs to, who owns it and when each member joined; invitation codes as hashes only (valid 24 hours, deleted after use or expiry); for every shared change a random operation id, the sending device, the time on the device and on the server, and its size; the total number and size of a family's records.
- Family subscription (Android owner): the Google Play purchase token and its hash, and the subscription status and end date, so that the server can check the subscription with Google Play. To stop one purchase being shared between installations, the token hash and the device identifier that claimed it are kept even after the family is deleted.
- Network address: your IP address is processed by Cloudflare to deliver the request. The server itself keeps only a SHA-256 hash of the IP inside one-minute rate-limit counters, which are deleted by the hourly cleanup. One-time request nonces are kept for 10 minutes.
- Retention and deletion: leaving a family removes your membership and display name; records you shared earlier stay, encrypted, in the family history until the owner deletes the family. Deleting a family deletes its members, invitations and all its records. A device identity that belongs to no family is deleted after 30 days without activity. For any other deletion request write to the contact below.
Sharing, retention and deletion
Data is shared only with the services you choose to use, as listed above. The developer receives nothing except the Family server data described above, and only if you use Family. Local data stays until you delete it in the app, clear the app's storage (Android Settings → Apps → Moneta → Storage → Clear storage) or uninstall the app. Drive backups stay in your Google Drive until you delete them from the app's backup screen or from Drive settings (Manage apps). Data sent to an AI provider or exchange is retained by that provider under its own policy.
Children
The app is not directed at children and does not knowingly process children's data.
Changes
If this policy changes, the updated version will be published at this address with a new effective date.
Contact
Osvald.studio26@gmail.com
Українська
Коротко
Moneta зберігає ваші фінансові записи на вашому пристрої. Акаунта Moneta, реклами, аналітики чи SDK для звітів про збої немає. Без необов'язкової функції «Сім'я» ваші записи лишаються на пристрої та в резервних копіях, які ви вмикаєте, і розробник їх не отримує. Якщо ви створюєте сім'ю чи приєднуєтеся до неї, зміни, якими ви ділитеся, проходять через сервер сім'ї Moneta наскрізно зашифрованими; що саме сервер зберігає й бачить — у розділі «Сервер сім'ї» нижче. Застосунок виходить в інтернет лише для функцій, які ви самі вмикаєте або використовуєте: зашифрована резервна копія в Google Drive, ШІ-асистент із обраним вами провайдером, баланси бірж за вашими власними ключами лише для читання, публічні курси валют і ціни, публічні бази даних авто. Кожна описана нижче.
Дані на вашому пристрої
| Дані | Навіщо | Де зберігаються |
|---|---|---|
| Доходи, витрати, рахунки, підписки, кредити, заплановані платежі, крипто- й біржові активи, записи про авто та квартиру, журнал пального, нотатки | Основне призначення застосунку | Приватне сховище застосунку; автоматичне резервне копіювання Android вимкнене (allowBackup="false") |
| API-ключі, токени доступу та пароль резервної копії | Для необов'язкових функцій нижче | Зашифровані неекспортованим ключем AES-256-GCM з Android Keystore у приватному сховищі; на іншому пристрої їх не прочитати |
| Фото, які ви додаєте (наприклад, до авто чи запису) | Щоб показувати їх у застосунку | Обираються через системний вибір фото Android і копіюються у приватне сховище; дозвіл на файли не потрібен |
| Сканування чеків | Щоб зчитати суму з чека | Зображення з камери обробляється на пристрої (розпізнавання тексту ML Kit); не зберігається й не завантажується |
| Ручний експорт / імпорт (файл JSON або CSV) | Щоб ви самі переносили дані | Лише у файл, який ви обираєте через системний вибір файлів; експорт можна захистити паролем (AES-256-CBC + HMAC-SHA256, ключ PBKDF2) |
| Віджет на головному екрані | Щоб показувати підсумки | Локальний кеш на пристрої |
Необов'язкові функції, що використовують інтернет
- Резервна копія в Google Drive (типово вимкнена). Коли ви її вмикаєте, ви входите в Google (OAuth, області
drive.appdataіemail). Перед завантаженням кожна копія шифрується на пристрої паролем, який знаєте лише ви (AES-256-CBC з HMAC-SHA256, ключ за PBKDF2-HMAC-SHA256); без пароля файл не відкрити, і розробник його не має. Копії потрапляють у приховану теку даних застосунку у вашому Google Drive; старі видаляються за вашим налаштуванням. Застосунок показує e-mail акаунта, яким ви увійшли, і зберігає OAuth-токени зашифровано локально. Google обробляє вхід і збережений файл за політикою конфіденційності Google. Вихід відкликає токен. - ШІ-асистент (вимкнений, доки ви не налаштуєте провайдера). Ви обираєте провайдера — OpenAI, Google Gemini, NVIDIA, xkiro, власний OpenAI-сумісний сервер або локальний сервер на вашому телефоні (
127.0.0.1) — і вводите свій API-ключ, який зберігається зашифровано на пристрої й надсилається лише цьому провайдеру в заголовку авторизації. Кожен запит містить ваші повідомлення в чаті (останні 20), короткий фінансовий підсумок (дохід і витрати за місяць, баланс, капітал, норма заощаджень, п'ять найбільших категорій витрат, кількість і сума підписок, кількість кредитів), список категорій, а також записи кредитів і підписок (назви, суми, дати, рахунки, категорії — приватні нотатки не передаються). Автоасистент надсилає профіль обраного авто, план обслуговування та журнал пального. Провайдер обробляє це за власною політикою конфіденційності. Запити йдуть через HTTPS, крім локального сервера на вашому телефоні. - Баланси бірж (необов'язково). Якщо ви додаєте API-ключ Binance або OKX, застосунок спершу перевіряє на біржі, що ключ лише для читання (без торгівлі й виведення), і відхиляє інші. Ключі зберігаються зашифровано на пристрої й надсилаються лише цій біржі, щоб прочитати баланси та позиції Earn.
- Курси й ціни: курси валют Національного банку України (
bank.gov.ua), ціни криптовалют із CoinGecko, котирування акцій зі Stooq. Ці запити містять лише коди валют чи тікери — ніколи ваші суми чи особу. - Пошук даних авто (лише коли ви ним користуєтесь): розшифрування VIN і відкликання з NHTSA США (
vpic.nhtsa.dot.gov,api.nhtsa.gov), дані витрати пального зfueleconomy.gov(марка, модель, рік) і, якщо ви введете власний API-ключ, дані українського реєстру зbaza-gai.com.ua(введений вами номерний знак або VIN). - Покупки через Google Play Billing (Android): Premium як разова довічна покупка або місячна чи річна підписка, а також підписка «Сім'я». Оплату повністю обробляє Google Play; застосунок не бачить платіжних даних і лише перевіряє статус покупки в Google Play на вашому пристрої. Чайові більше не продаються; раніше оформлену підписку підтримки можна, як і досі, змінити чи скасувати в Google Play.
- Захоплення платежів Google Wallet (необов'язково, за вашою згодою, у збірках, де є ця функція). Якщо ви її вмикаєте й надаєте доступ до сповіщень, застосунок читає сповіщення лише від додатка Google Wallet (
com.google.android.apps.walletnfcrel), виділяє суму, валюту й продавця і показує локальне сповіщення, щоб ви обрали категорію витрати. Сповіщення інших додатків не читаються, нічого не залишає пристрій. Відкликати можна будь-коли: Налаштування Android → Сповіщення → Сповіщення пристрою та додатків.
Дозволи
- Інтернет / стан мережі (
INTERNET,ACCESS_NETWORK_STATE): для необов'язкових функцій вище та щоб планувати резервну копію лише за наявності мережі. - Камера (
CAMERA): сканування чеків, лише поки ви ним користуєтесь; позначена як необов'язкова. - Запуск після перезавантаження (
RECEIVE_BOOT_COMPLETED): щоб знову запланувати нагадування про регулярні платежі та завдання резервної копії. - Сповіщення (
POST_NOTIFICATIONS, де є): локальні нагадування про регулярні та захоплені платежі. - Сховище (
READ_EXTERNAL_STORAGE, лише Android 9 і старіші): щоб імпортувати файли на старих версіях Android.
Застосунок не запитує доступу до контактів, геолокації, мікрофона, телефону чи SMS.
Moneta на iPhone
Версія для iPhone дотримується того самого правила: записи лишаються на вашому пристрої, розробник їх не отримує. Відмінності від Android:
- Покупки через Apple. Premium продається як покупка в App Store: разова довічна або місячна чи річна підписка з автоматичним поновленням. Платіж обробляє Apple; Moneta не отримує даних картки чи платежу — лише статус покупки, який StoreKit повідомляє на вашому пристрої, щоб відкрити Premium. Підписка поновлюється автоматично, якщо її не скасувати щонайменше за 24 години до кінця періоду; керувати нею чи скасувати можна в Параметри → ваше ім'я → Підписки. «Відновити покупки» звертається до App Store по попередні покупки лише після натискання цієї кнопки. Чайових на iPhone немає.
- Зберігання й секрети. Записи зберігаються в приватному сховищі застосунку. Ключі API, токени й пароль резервних копій лежать у Keychain iOS і доступні лише на цьому пристрої після першого розблокування.
- Резервні копії. Зашифровані копії можна зберігати в iCloud Drive (власний контейнер застосунку) або експортувати файл через «Файли». Копії в iCloud шифруються на пристрої вашим паролем (AES-256-CBC з HMAC-SHA256, ключ із PBKDF2-HMAC-SHA256) до того, як залишать застосунок; експортований файл шифрується так само, якщо ви задали пароль. Apple зберігає файли iCloud за своєю політикою конфіденційності. Резервних копій на Google Drive на iPhone немає.
- Face ID / Touch ID (необов'язкове блокування). Перевірку виконує iOS; Moneta дізнається лише, чи вона пройшла, і не отримує біометричних даних.
- Камера й фото (лише коли ви їх використовуєте): знімки авто, чеків, лічильників чи документів копіюються в приватне сховище застосунку. Сканування суми чека на iPhone недоступне.
- Локальна мережа (лише якщо ви це налаштували): щоб звертатися до ШІ-сервера у вашій мережі.
- Сім'я (необов'язково; на iPhone можна приєднатися до сім'ї за запрошенням): див. «Сервер сім'ї» нижче.
- Так само, як описано вище: ШІ-помічник з обраним вами провайдером і ключем, баланси бірж лише для читання, курси й ціни, а також пошук даних про авто працюють на iPhone і надсилають ті самі дані, що описано в розділі «Необов'язкові функції, що використовують інтернет».
- Немає на iPhone: сканування суми чека, віджет на головному екрані й захоплення сповіщень Google Wallet є лише на Android. Натомість на iPhone є дія «Команд» «Add payment to Moneta» (сума, валюта, продавець, дата), яку ви запускаєте самі, наприклад з автоматизації Wallet; вона лише додає платіж у чергу в Moneta на вашому пристрої, щоб ви обрали категорію.
- Дозволи на iPhone, кожен запитується лише коли ви користуєтеся функцією: камера, фото (вибір через системний засіб вибору фото), Face ID, локальна мережа (лише для ШІ-сервера, який ви налаштували) і сповіщення (локальні нагадування, наприклад про регулярні платежі). Застосунок не запитує контакти, геолокацію, мікрофон чи дозвіл на відстеження.
- Без реклами, аналітики, відстеження й SDK звітів про збої.
Сервер сім'ї
«Сім'я» (необов'язково) використовує сервер розробника на Cloudflare Workers з базою даних Cloudflare D1 (Cloudflare, Inc.; місце зберігання даних обирає Cloudflare). Адреса: moneta-family.osvaldstudio.workers.dev. На iPhone до сім'ї можна приєднатися за запрошенням; створити сім'ю можна на Android.
- Зашифровано на вашому пристрої, сервер не може прочитати: вміст кожного спільного запису (суми, назви, категорії, нотатки) та імена учасників. Їх шифрує AES-256-GCM ключем сім'ї. Ключ передається лише в посиланні-запрошенні, у частині після «#», яка ніколи не надсилається на сервер; на пристроях учасників він лежить у захищеному сховищі.
- Зберігається у відкритому вигляді: ідентифікатор пристрою (хеш SHA-256 його відкритого ключа) і сам відкритий ключ; коли пристрій зареєстровано й коли він був активний; до якої сім'ї він належить, хто власник і коли кожен учасник приєднався; коди запрошень лише як хеші (діють 24 години, видаляються після використання чи завершення строку); для кожної спільної зміни — випадковий ідентифікатор операції, пристрій-відправник, час на пристрої й на сервері та її розмір; загальна кількість і обсяг записів сім'ї.
- Підписка «Сім'я» (власник на Android): токен покупки Google Play і його хеш, статус і дата завершення підписки, щоб сервер перевіряв підписку в Google Play. Щоб одну покупку не ділили між установленнями, хеш токена й ідентифікатор пристрою, який його заявив, зберігаються навіть після видалення сім'ї.
- Мережева адреса: вашу IP-адресу обробляє Cloudflare, щоб доставити запит. Сам сервер зберігає лише хеш SHA-256 IP-адреси в лічильниках обмеження частоти на одну хвилину, які щогодини видаляються. Одноразові значення запитів зберігаються 10 хвилин.
- Зберігання й видалення: вихід із сім'ї видаляє ваше членство й ім'я; записи, якими ви поділилися раніше, лишаються зашифрованими в історії сім'ї, доки власник не видалить сім'ю. Видалення сім'ї видаляє учасників, запрошення й усі її записи. Ідентифікатор пристрою, що не належить до жодної сім'ї, видаляється через 30 днів без активності. З іншими запитами на видалення пишіть на контакт нижче.
Передавання, зберігання й видалення
Дані передаються лише сервісам, які ви самі обрали, як описано вище. Розробник не отримує нічого, крім даних сервера сім'ї, описаних вище, і лише якщо ви користуєтеся «Сім'єю». Локальні дані зберігаються, доки ви не видалите їх у застосунку, не очистите сховище (Налаштування Android → Додатки → Moneta → Пам'ять → Очистити сховище) або не видалите застосунок. Копії в Drive залишаються у вашому Google Drive, доки ви не видалите їх на екрані резервних копій у застосунку або в налаштуваннях Drive (Керування додатками). Дані, надіслані ШІ-провайдеру чи біржі, зберігає цей провайдер за власною політикою.
Діти
Застосунок не призначений спеціально для дітей і свідомо не обробляє дитячих даних.
Зміни
У разі змін оновлена політика з новою датою буде опублікована за цією адресою.
Контакт
Osvald.studio26@gmail.com