Spent Money는 아무것도 수집하지 않으며, 지출 내역은 기기를 벗어나지 않습니다.
자체 서버 없음. 계정 시스템 없음. 클라우드 동기화 없음.
광고 없음
앱 어디에도 광고가 없고 안에 광고 네트워크도 없습니다. 추적 권한을 요청하지 않으며, 기기의 광고 식별자를 읽지도 않습니다.
계정 없음
가입할 필요가 없습니다 - 앱을 열고 바로 입력하세요.
자체 분석 없음
분석이나 텔레메트리 SDK가 앱에서 무엇을 하는지 지켜보지 않으며, 광고 SDK도 없습니다. 앱에는 광고가 전혀 없습니다. 구매는 RevenueCat을 거치고, 구독 상태와 익명 설치 ID만 볼 뿐 지출 내역은 결코 보지 않습니다.
앱이 인터넷에 연결될 때
RevenueCat을 통해 구매를 확인할 때(스토어에 확인합니다), 지출이 다른 통화일 때 오늘 환율을 가져올 때, 그리고 실행 시 App Store에 새 버전이 나왔는지 물을 때뿐입니다. 환율 요청은 통화 코드만, 버전 확인은 앱 자신의 식별자만 담고 있습니다.
런타임 권한 없음
카메라, 연락처, 위치, 마이크는 물론 Android가 별도 요청 없이 자동으로 허용하는 진동 권한조차 요구하지 않습니다.
내보내는 것은 내가 통제
데이터가 휴대폰을 떠나는 유일한 길은 사용자가 직접 백업을 내보내고 보낼 곳을 고르는 경우뿐입니다. Pro에서는 그 파일이 본인만 아는 비밀번호로 암호화됩니다.
내 데이터가 실제로 저장되는 곳
입력하는 모든 숫자는 내 기기의 SQLite 데이터베이스에 기록될 뿐, 그 이상은 없습니다.
내 휴대폰
SQLite 데이터베이스
백업 파일 - 내보낸 경우에만
앱을 삭제하면 그 데이터도 사라집니다 - 그래서 백업 및 복원 기능이 존재하는 것이며, 이는 부가 기능이 아니라 기기 저장 전용 방식의 직접적인 결과입니다.
앱 잠금
선택적 6자리 PIN - 앱 실행 시와 백그라운드 전환 시마다 요구되며, 자동으로 다시 잠깁니다.
PIN은 평문으로 저장되지 않습니다. 고유한 무작위 솔트를 더한 scrypt 해시만 보관되며, 일부러 느리고 메모리를 많이 쓰도록 만들어 데이터베이스를 손에 넣은 사람에게도 추측 비용이 계속 크게 남도록 했습니다.
PIN 전용이므로 예산을 잠금 해제할 때 Face ID/Touch ID 권한 요청도 뜨지 않습니다.
내 방식대로 백업 및 복원
모든 것을 사용자가 관리하는 하나의 JSON 파일로 내보내세요. 저장하든, 자신에게 메일로 보내든, 원하는 곳에 두든 자유입니다. Pro는 ‘비밀번호로 보호’를 더하며, 그때 기본으로 켜집니다.
그 파일을 어떤 기기에서든 복원할 수 있습니다 - 앱이 암호화된 백업을 알아보고 비밀번호를 묻습니다. 자동 클라우드 동기화가 아닌 수동 방식으로, “서버 없음”이라는 원칙을 일관되게 적용한 것입니다.
단순한 비밀번호 입력란이 아니라 AES-256-GCM
파일은 scrypt가 비밀번호에서 늘려 만든 키로 AES-256-GCM으로 봉인되며, 솔트와 nonce는 매번 새로 무작위 생성됩니다. GCM은 인증 암호이므로 비밀번호가 틀리거나, 바이트 하나가 바뀌었거나, 파일이 잘려 있으면 그냥 열리지 않습니다 - 손상된 기록이 조용히 실제 데이터로 복원되는 일은 없습니다.
비밀번호는 오직 당신의 것입니다
키는 사용자에게서 나오며 앱에서 나오지 않습니다 - 앱 안에 담겨 배포된 키는 한 번만 빼내면 모든 사람의 파일을 열 수 있습니다. 그래서 마스터 비밀번호도, 복구 절차도 없습니다. 잊어버리면 그 파일은 다시는 열 수 없습니다. 입력란에 표시 전환 버튼이 있는 이유가 바로 이것입니다 - 비밀번호는 한 번만 입력하고 재확인을 받지 않으므로, 눈으로 볼 수 있다는 점이 유일한 안전장치입니다.
소스 코드에 관하여
이것은 개인 프로젝트이며 앱은 비공개 소스입니다 - 독점 소프트웨어, © 2026 Samvel Sargsyan, 모든 권리 보유. 여기서 프라이버시를 우선하는 것은 설계상의 약속이며, 오픈소스 감사에 대한 보증은 아닙니다. 사실이며 확인 가능한 것: 지출 내역은 기기의 로컬 데이터베이스에만 저장되고, 이를 저장할 계정도 없으며, 보낼 자체 서버도 없습니다. 앱이 네트워크를 사용하는 경우는 정확히 세 가지입니다. RevenueCat을 통해 구매를 확인할 때(RevenueCat이 앱 스토어에 대조하고 익명 설치 ID에 구독 상태를 기록합니다), 실행 시 App Store에 새 버전이 나왔는지 물을 때(앱 자신의 식별자만 보냅니다), 그리고 기본 통화가 아닌 통화로 지출을 저장할 때 오늘 환율을 가져올 때입니다. 이 요청에 담기는 것은 통화 코드뿐이며, 금액이나 메모, 카테고리는 결코 전송되지 않습니다.