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 при запуске, вышла ли более новая версия, в котором передаётся только идентификатор самого приложения; и получения сегодняшнего курса, когда вы сохраняете расход в валюте, отличной от основной. В этом запросе передаётся только код валюты - никогда сумма, заметка или категория.