Spent Money ничего не собирает, и ваши расходы никогда не покидают ваше устройство.
Без нашего сервера. Без системы аккаунтов. Без облачной синхронизации.
Без рекламы
В приложении нигде нет рекламы и внутри нет рекламной сети. Разрешение на отслеживание никогда не запрашивается, а рекламный идентификатор вашего устройства не читается.
Без аккаунта
Регистрироваться не нужно - откройте приложение и начните вводить данные.
Без нашей аналитики
Ни один SDK аналитики или телеметрии не следит за тем, что вы делаете в приложении, и рекламного SDK тоже нет - в приложении нет никакой рекламы. Покупки идут через RevenueCat, который видит статус вашей подписки и анонимный идентификатор установки, но никогда ваши расходы.
Когда приложение выходит в сеть
Только чтобы проверить вашу покупку через RevenueCat, который подтверждает её в магазине приложений, получить сегодняшний курс, когда расход в другой валюте, и спросить App Store при запуске, вышла ли новая версия. Запрос курса несёт код валюты и больше ничего; проверка версии - только собственный идентификатор приложения.
Без разрешений во время работы
Никогда не запрашивает доступ к камере, контактам, геолокации или микрофону - даже к вибрации, которую Android выдаёт автоматически, вообще без запроса.
Вы контролируете, что уходит вовне
Данные покидают телефон единственным способом: если вы сами экспортируете резервную копию и выберете, куда её отправить. С Pro этот файл зашифрован паролем, который знаете только вы.
Где на самом деле хранятся ваши данные
Каждая введённая вами цифра записывается в базу данных SQLite на вашем собственном устройстве - и больше никуда.
Ваш телефон
База данных SQLite
Файл резервной копии — только если вы его создадите
Если вы удалите приложение, эти данные исчезнут - именно поэтому существует резервное копирование и восстановление: не как дополнительная функция, а как прямое следствие того, что всё хранится только локально.
Блокировка приложения
Необязательный 6-значный PIN-код, требуется при запуске и каждый раз, когда приложение уходит в фон, - блокировка происходит снова автоматически.
PIN-код никогда не хранится в виде обычного текста. Хранится только scrypt-хэш с собственной случайной солью - намеренно медленный и требовательный к памяти, так что подбор остаётся дорогим даже для того, у кого база данных на руках.
Только PIN-код, поэтому разблокировка вашего бюджета никогда не потребует и разрешения на Face ID / Touch ID.
Резервное копирование и восстановление на ваших условиях
Экспортируйте всё в один файл JSON, которым распоряжаетесь вы: сохраните его, отправьте себе, положите куда угодно. Pro добавляет «Защитить паролем», и с ним это включено по умолчанию.
Восстановите этот файл на любом устройстве - приложение само распознаёт зашифрованную копию и спрашивает пароль. Это ручной процесс, а не автоматическая облачная синхронизация: то же решение «без сервера», применённое последовательно.
AES-256-GCM, а не просто поле для пароля
Файл запечатывается алгоритмом AES-256-GCM ключом, который scrypt растягивает из вашего пароля, каждый раз со свежей случайной солью и nonce. GCM - аутентифицированное шифрование: при неверном пароле, изменённом байте или обрезанном файле он просто не открывается, вместо того чтобы молча вернуть повреждённые записи в ваши настоящие данные.
Пароль принадлежит только вам
Ключ исходит от вас, а не от приложения: ключ, зашитый внутрь приложения, можно извлечь один раз и после этого открывать файлы всех подряд. Поэтому нет ни мастер-пароля, ни восстановления: забыли свой - и этот файл уже никогда не открыть. Именно поэтому у поля есть кнопка показа пароля: он вводится один раз и никогда не подтверждается, так что возможность его увидеть и есть защита.
Об исходном коде
Это личный проект, и приложение с закрытым исходным кодом - проприетарное, © 2026 Samvel Sargsyan, все права защищены. Приоритет приватности здесь - это решение в дизайне, а не гарантия аудита открытого кода. Что правда и поддаётся проверке: ваши расходы хранятся только в локальной базе данных на вашем устройстве, нет аккаунтов, к которым их можно было бы привязать, и нет нашего сервера, куда они могли бы уйти. Приложение использует сеть ровно для трёх вещей: проверки вашей покупки через RevenueCat, который подтверждает её в магазине приложений и хранит статус вашей подписки под анонимным идентификатором установки; запроса к App Store при запуске, вышла ли более новая версия, в котором передаётся только идентификатор самого приложения; и получения сегодняшнего курса, когда вы сохраняете расход в валюте, отличной от основной. В этом запросе передаётся только код валюты - никогда сумма, заметка или категория.