1. 소개
Strata Veritate LLC(“회사”, “당사”, “우리” 또는 “저희”)는 Spendlens 모바일 애플리케이션(“앱”)을 운영합니다. 본 개인정보 처리방침은 귀하가 앱을 사용할 때 당사가 귀하의 정보를 수집, 이용, 공개 및 보호하는 방법에 대해 설명합니다.
당사는 귀하의 개인정보와 금융 데이터를 보호하기 위해 최선을 다하고 있습니다. 본 방침은 캘리포니아 소비자 프라이버시법(CCPA), 해당되는 경우 일반 데이터 보호 규정(GDPR), 그리고 Apple의 App Store 심사 지침을 포함한 관련 데이터 보호법을 준수하도록 설계되었습니다.
본 개인정보 처리방침을 주의 깊게 읽어 주시기 바랍니다. 앱을 사용함으로써 귀하는 여기에 기술된 관행에 동의하게 됩니다. 본 개인정보 처리방침에 동의하지 않으시면 앱을 사용하지 마십시오.
2. 수집하는 정보
2.1 귀하가 직접 제공하는 정보
| 데이터 범주 | 예시 | 목적 |
|---|---|---|
| 계정 정보 | 이름, 이메일 주소, 프로필 사진 URL | 계정 생성, 본인 확인, 커뮤니케이션 |
| 금융 데이터 | 거래 내역, 금액, 가맹점, 카테고리, 메모, 예산, 저축 목표, 투자 보유 현황, 취득 원가 | 앱의 핵심 기능 — 예산 관리, 추적, 분석 |
| 계정 설정 | 선호 통화, 언어, 알림 설정, 테마 설정, 접근성 설정 | 맞춤 설정 및 사용자 경험 개선 |
2.2 제3자 서비스를 통해 수집되는 정보
2.2.1 Plaid (은행 동기화 — Pro+Connect 전용)
은행 동기화를 선택하시면, Plaid, Inc.가 다음 정보를 수집하여 당사에 제공합니다:
- 계좌명, 유형 및 잔액
- 거래 내역 (금액, 날짜, 가맹점, 카테고리)
- 계좌번호 및 라우팅 번호 일부 (마스킹 처리, 식별 목적으로만 사용)
- 금융기관 이름 및 로고
당사는 귀하의 은행 로그인 자격 증명을 수신하거나 저장하지 않습니다. Plaid 액세스 토큰은 당사의 서버 인프라(Firebase Cloud Functions 및 Google Secret Manager)에만 저장되며, 귀하의 기기로 전송되거나 기기에 저장되지 않습니다.
Plaid의 데이터 처리 관행에 대해서는 다음을 참조하세요: Plaid 개인정보 처리방침
2.2.2 Firebase 서비스 (Google)
| 서비스 | 처리되는 데이터 | 목적 |
|---|---|---|
| Firebase Authentication | 이메일, 인증 제공자 식별자, 인증 토큰 | 안전한 사용자 신원 관리 |
| Cloud Firestore | Plaid 동기화 메타데이터, 구독 상태, Aperture 연결 메타데이터, 프로모션 코드 기록, 분석 상태 지표 | 서버 측 데이터 조정 |
| Firebase Cloud Functions | Plaid API 프록시 호출, 구독 확인, Aperture 연결 관리, 시장 데이터 프록시, 푸시 알림 전달 | 안전한 서버 측 비즈니스 로직 |
| Firebase Analytics | 익명화된 제품 사용 이벤트 (기능 상호작용, 화면 조회, 세션 데이터) | 제품 개선 및 성능 모니터링 |
| Firebase Crashlytics | 충돌 보고서, 기기 모델, OS 버전, 앱 버전, 스택 트레이스 | 앱 안정성 모니터링 및 버그 수정 |
| Firebase Cloud Messaging (FCM) | 기기 푸시 토큰 | 푸시 알림 전달 |
| Firebase App Check | 기기 증명 토큰 | 남용 방지 및 무단 API 접근 차단 |
Firebase Analytics 및 Crashlytics 데이터는 Google의 데이터 처리 약관에 따라 처리됩니다. 당사는 Firebase Analytics를 광고 또는 광고 타겟팅 목적으로 사용하지 않습니다.
2.2.3 Apple 서비스
| 서비스 | 처리되는 데이터 | 목적 |
|---|---|---|
| iCloud (CloudKit) | 귀하의 개인 전용 CloudKit 데이터베이스에 동기화된 암호화된 금융 데이터 | 기기 간 동기화 (데이터는 귀하의 iCloud 계정에 보관) |
| StoreKit | 구독 상태, 거래 영수증, Apple ID 계정 토큰 | 인앱 구매 관리 |
| Sign in with Apple | Apple 사용자 식별자, 선택적 이름 및 릴레이 이메일 | 인증 |
| Apple Push Notification Service (APNs) | 기기 토큰, 알림 페이로드 | 로컬 및 원격 알림 전달 |
2.3 자동으로 수집되는 정보
| 데이터 범주 | 세부 사항 | 목적 |
|---|---|---|
| 기기 정보 | 기기 모델, 운영체제 버전, 앱 버전 (Crashlytics를 통해 수집) | 앱 호환성 및 충돌 진단 |
| 사용 분석 | 기능 사용 패턴, 세션 시간, 화면 조회 (Firebase Analytics를 통해 익명화) | 제품 개선 |
| 성능 데이터 | 앱 실행 시간, 오류율, 충돌 빈도 | 성능 최적화 |
2.4 수집하지 않는 정보
- 광고 식별자 (IDFA): 당사는 광고 식별자를 사용하지 않습니다.
- 위치 데이터: 당사는 GPS, Wi-Fi 또는 셀룰러 위치 데이터에 접근하거나 수집하지 않습니다.
- 연락처 목록: 당사는 귀하의 연락처, 통화 기록 또는 메시지에 접근하지 않습니다.
- 생체 인식 데이터: 생체 인증(Face ID / Touch ID)은 귀하의 기기에서 Apple의 LocalAuthentication 프레임워크에 의해 전적으로 처리됩니다. 당사는 생체 인식 템플릿이나 데이터를 수신, 전송 또는 저장하지 않습니다.
- 웹 브라우징 기록: 당사는 귀하의 웹 브라우징 활동을 추적하지 않습니다.
- 마이크 또는 카메라 데이터: 카메라는 귀하가 직접 영수증 스캔을 시작할 때만 접근됩니다. 이미지는 Apple의 Vision 프레임워크를 사용하여 기기에서 메모리 내 OCR 처리되며, 저장, 업로드 또는 전송되지 않습니다.
3. 정보 이용 방법
3.1 핵심 서비스 제공
- 개인 금융 추적, 예산 관리 및 분석 기능 제공
- 귀하의 개인 iCloud 계정을 통한 기기 간 데이터 동기화
- 거래 처리 및 분류
- 재무 예측, 현금 흐름 분석 및 순자산 계산 생성
- 구독 및 계정 관리
3.2 서비스 개선
- 익명화된 사용 패턴 분석을 통한 기능 및 사용자 경험 개선
- 앱 안정성 모니터링 및 충돌·버그 수정
- 기능 채택률 측정을 통한 제품 개발 우선순위 결정
3.3 커뮤니케이션
- 귀하가 활성화한 푸시 알림 전달 (예산 알림, 납부 알림, 목표 달성 등)
- 서비스 관련 커뮤니케이션 전송 (구독 상태, 보안 알림)
3.4 보안
- 본인 인증
- Firebase App Check를 통한 사기 및 무단 접근 방지
- 의심스러운 활동 모니터링
4. 온디바이스 처리 및 머신러닝
Spendlens의 핵심 설계 원칙 중 하나는 온디바이스 처리를 통한 데이터 최소화입니다.
4.1 온디바이스 머신러닝
모든 머신러닝 기능은 전적으로 귀하의 기기에서 작동합니다:
- 거래 분류 — CoreML BERT 모델이 로컬에서 거래를 분류합니다
- 스마트 정기 거래 감지 — 패턴 인식이 기기에서 실행됩니다
- 가맹점 식별 — 휴리스틱 및 ML 기반 가맹점 매칭이 로컬에서 이루어집니다
- 영수증 OCR — Apple Vision 프레임워크가 영수증 이미지를 메모리 내에서 처리하며, 이미지는 저장되거나 전송되지 않습니다
추론이나 모델 학습을 위해 당사 서버를 포함한 어떠한 외부 머신러닝 서비스로도 금융 데이터가 전송되지 않습니다.
4.2 온디바이스 데이터 저장
귀하의 주요 금융 데이터(거래, 예산, 계좌, 목표, 보유 자산)는 Apple의 SwiftData 프레임워크를 사용하여 기기에 저장되며, 선택적으로 귀하의 개인 전용 CloudKit 데이터베이스에 iCloud 동기화됩니다. 이 데이터는 귀하의 iCloud 계정에 존재하며 Apple의 개인정보 보호 및 보안 관행이 적용됩니다. 당사는 귀하의 CloudKit 데이터에 대한 서버 측 접근 권한이 없습니다.
5. 암호화 및 보안
5.1 저장 시 암호화
- 기기 내: 모든 로컬 데이터는 iOS 하드웨어 수준 암호화(Data Protection 클래스)의 보호를 받습니다. 민감한 항목은
kSecAttrAccessibleWhenUnlockedThisDeviceOnly보호 설정으로 iOS Keychain에 저장됩니다. - 계층적 키 아키텍처: 앱은 Secure Enclave 지원 루트 키 → Key Encryption Key (KEK) → 레코드별 Content Encryption Key (CEK) 계층 구조를 사용하여 AES-256-GCM으로 민감한 기기 내 데이터를 암호화합니다.
- iCloud: CloudKit을 통해 동기화되는 데이터는 Apple의 iCloud 암호화 표준에 따라 저장 시 암호화됩니다.
- 서버 측: Firestore 데이터는 Google Cloud의 기본 암호화로 저장 시 암호화됩니다. Plaid 액세스 토큰은 추가적인 서버 측 접근 제어와 함께 Google Secret Manager에 저장됩니다.
5.2 전송 시 암호화
모든 네트워크 통신은 TLS 1.2 이상을 사용합니다. App Transport Security(ATS)가 적용되어 평문 HTTP 연결은 허용되지 않습니다.
5.3 Aperture 종단 간 암호화
Aperture 기능을 통해 공유되는 데이터는 종단 간 암호화로 보호됩니다:
- 키 합의: P256 Elliptic Curve Diffie-Hellman (ECDH)
- 대칭 암호화: AES-256-GCM 인증 암호화
- 키 저장: 개인 키는 기기 전용 접근 설정(
kSecAttrAccessibleWhenUnlockedThisDeviceOnly)으로 iOS Keychain에 저장됩니다 - 영지식 서버: 당사 서버는 암호문만 전달합니다. 당사는 공유 비밀을 도출하거나 Aperture 데이터를 복호화할 수 없습니다.
5.4 Plaid 보안
- 은행 자격 증명은 귀하가 Plaid에 직접 제공하며, 당사로 전송되거나 당사에 저장되지 않습니다.
- Plaid 액세스 토큰은 당사 서버 인프라의 Google Secret Manager에 저장됩니다.
- 모든 Plaid API 호출은 Firebase Cloud Functions를 통해 프록시되며, 귀하의 기기에서 Plaid API로의 직접 통신은 이루어지지 않습니다.
- 은행 연결을 해제하거나 계정을 삭제하면, 당사는 관련 Plaid 액세스 토큰을 프로그래밍 방식으로 폐기합니다.
6. 데이터 공유 및 공개
6.1 당사는 귀하의 데이터를 판매하지 않습니다
당사는 귀하의 개인정보 또는 금융 데이터를 제3자에게 판매, 대여 또는 거래하지 않습니다. 당사는 광고주와 데이터를 공유하지 않습니다. 당사는 데이터 중개에 관여하지 않습니다.
6.2 제3자 서비스 제공업체
당사는 앱 운영에 필요한 범위 내에서만 다음 유형의 서비스 제공업체와 데이터를 공유합니다:
| 제공업체 | 공유 데이터 | 목적 |
|---|---|---|
| Plaid, Inc. | 은행 연결 토큰 (서버 측만) | 은행 계좌 동기화 |
| Google (Firebase/GCP) | 인증 데이터, 익명화된 분석 이벤트, 충돌 보고서, Firestore 문서, 푸시 토큰 | 인프라, 분석, 안정성 |
| Apple | 구매 영수증, 구독 상태, iCloud 동기화 데이터 | App Store 결제, iCloud 동기화 |
| Yahoo Finance (서버 프록시를 통해) | 주식 티커 심볼 (개인 데이터 없음) | 시장 데이터 조회 |
6.3 Aperture — 사용자 주도 공유
Aperture 기능을 사용하면, 귀하는 지정된 신뢰할 수 있는 연락처에게 암호화된 금융 데이터를 제공하도록 당사에 지시하는 것입니다. 이 공유는 전적으로 귀하에 의해 시작되고 제어됩니다. 당사는 암호문만 전달하며 평문 내용에 접근할 수 없습니다.
6.4 법적 의무
당사는 법률에 의해 요구되거나 다음 사항을 위해 필요하다고 선의로 판단하는 경우 귀하의 정보를 공개할 수 있습니다:
- 법적 의무, 소환장 또는 법원 명령의 이행;
- Strata Veritate LLC의 권리 또는 재산 보호 및 방어;
- 앱과 관련된 잠재적 위법 행위의 방지 또는 조사;
- 사용자 또는 일반 대중의 안전 보호.
6.5 사업 양도
합병, 인수, 조직 개편, 파산 또는 당사 자산의 전부 또는 일부 매각이 발생하는 경우, 귀하의 정보가 해당 거래의 일부로 이전될 수 있습니다. 귀하의 정보가 다른 개인정보 처리방침의 적용을 받게 되기 전에 앱 내 공지 또는 이메일을 통해 사전에 알려드리겠습니다.
7. 데이터 보존
7.1 활성 계정
당사는 귀하의 계정이 활성 상태인 동안 그리고 앱 서비스를 제공하는 데 필요한 기간 동안 귀하의 데이터를 보존합니다.
| 데이터 유형 | 보존 기간 |
|---|---|
| 기기 내 금융 데이터 (SwiftData) | 귀하가 삭제하거나 계정을 삭제할 때까지 |
| iCloud 동기화 데이터 (CloudKit) | 귀하의 iCloud 저장 공간에 따라 관리되며, 계정 삭제 시 삭제 |
| Firestore 서버 측 데이터 | 계정 삭제 시까지 |
| Firebase Analytics 데이터 | Google의 표준 분석 보존 기간에 따라 보존 (최대 14개월) |
| Crashlytics 보고서 | Google의 표준 Crashlytics 보존 기간에 따라 보존 (90일) |
| Plaid 액세스 토큰 | 은행 연결을 해제하거나 계정을 삭제할 때까지 |
| 구독 기록 | 구독 기간 및 관련 법적 보존 기간 동안 |
| 푸시 알림 토큰 | 로그아웃 또는 계정 삭제 시까지 |
7.2 삭제된 계정
계정을 삭제하면 당사는 포괄적인 데이터 삭제 파이프라인을 실행합니다:
- Firebase Authentication 계정 — 영구적으로 삭제
- Plaid 연결 — 모든 액세스 토큰이 프로그래밍 방식으로 폐기 및 삭제
- Firestore 데이터 — 모든 사용자 문서가 영구적으로 삭제
- 기기 내 로컬 데이터 — 모든 SwiftData 기록이 제거
- 암호화 키 — Keychain에 저장된 모든 키(루트 키, KEK, Aperture 개인 키)가 파기
- 세션 상태 — 모든 캐시 상태 및 세션 토큰이 삭제
귀하를 식별하는 데 사용할 수 없는 특정 집계된 비식별 데이터는 분석 목적으로 보존될 수 있습니다.
7.3 임시 데이터
OCR 스캔을 위해 캡처된 영수증 이미지는 처리 중에 기기 메모리에서만 존재하며, 디스크에 저장되거나, 업로드되거나, 전송되지 않습니다.
8. 이용자의 권리 및 선택
8.1 접근 및 이동성
귀하는 언제든지 앱 내에서 모든 금융 데이터를 확인할 수 있습니다. Pro 구독자는 데이터 이동성을 위해 CSV 내보내기를 통해 거래 데이터를 내보낼 수 있습니다.
8.2 정정
귀하는 언제든지 앱 내에서 직접 거래, 계좌, 예산, 목표 및 프로필 정보를 편집할 수 있습니다.
8.3 삭제
귀하는 다음을 수행할 수 있습니다:
- 앱 내에서 개별 거래, 계좌, 예산 또는 목표를 삭제;
- 설정의 계정 삭제 기능을 사용하여 전체 계정 및 관련 데이터를 삭제;
- 아래 연락처로 문의하여 삭제를 요청.
8.4 알림 설정
귀하는 알림에 대한 세부적인 제어 권한을 가지고 있습니다. 개별 알림 범주(예산 알림, 납부 알림, 목표 달성, 저축 권유 등)를 활성화하거나 비활성화할 수 있으며, 지정된 시간 동안 알림을 억제하는 방해금지 시간을 설정할 수 있습니다.
8.5 은행 연결 관리
귀하는 언제든지 개별 은행 연결을 해제할 수 있으며, 이 경우 관련 Plaid 액세스 토큰이 폐기됩니다. 계정 삭제를 통해 모든 은행 연결을 동시에 제거할 수도 있습니다.
8.6 데이터 공유(Aperture) 제어
귀하는 언제든지 신뢰할 수 있는 연락처에 대한 Aperture 데이터 공유를 철회할 수 있으며, 이 경우 해당 연락처의 암호화된 데이터 접근이 즉시 종료됩니다.
8.7 분석 옵트아웃
Firebase Analytics는 익명화된 사용 데이터를 수집합니다. 기기의 개인정보 보호 설정(설정 > 개인정보 보호 및 보안 > 분석 및 개선)을 조정하여 분석 수집을 제한할 수 있습니다.
8.8 GDPR에 따른 권리 (EEA/영국 사용자)
유럽 경제 지역 또는 영국에 거주하는 경우, 귀하는 다음과 같은 권리를 갖습니다:
- 접근 — 당사가 보유한 개인 데이터에 대한 접근;
- 정정 — 부정확한 개인 데이터의 정정;
- 삭제(“잊힐 권리”) — 개인 데이터의 삭제;
- 처리 제한 — 개인 데이터의 처리 제한;
- 데이터 이동성 — 구조화되고 기계 판독 가능한 형식으로 데이터 수신;
- 이의 제기 — 정당한 이익에 기반한 처리에 대한 이의;
- 동의 철회 — 동의에 기반한 처리의 경우 언제든지 동의를 철회;
- 불만 제기 — 관할 데이터 보호 기관에 불만 제기.
이러한 권리를 행사하시려면 아래 연락처로 문의해 주시기 바랍니다.
8.9 CCPA에 따른 권리 (캘리포니아 거주자)
캘리포니아 거주자인 경우, 귀하는 다음과 같은 권리를 갖습니다:
- 알 권리 — 당사가 수집, 사용 및 공개하는 개인정보에 대해 알 권리;
- 삭제 — 개인정보의 삭제;
- 판매 거부 — 개인정보 판매의 거부 (당사는 개인정보를 판매하지 않습니다);
- 차별 금지 — 개인정보 보호 권리 행사에 따른 차별 금지.
이러한 권리를 행사하시려면 아래 연락처로 문의해 주시기 바랍니다.
9. 아동 개인정보 보호
본 앱은 만 16세 미만 또는 해당 관할권의 디지털 동의 최소 연령(둘 중 더 높은 쪽) 미만의 아동이 사용하도록 의도되지 않았습니다. 당사는 이러한 연령 기준 미만의 아동으로부터 의도적으로 개인 데이터를 수집하지 않습니다.
귀하가 부모 또는 보호자이며 자녀가 당사에 개인 데이터를 제공했다고 판단되는 경우, 즉시 당사에 연락해 주시기 바랍니다. 해당 최소 연령 미만의 아동으로부터 개인 데이터를 수집했음을 인지하게 되면, 당사는 해당 데이터를 시스템에서 신속히 삭제하기 위한 조치를 취하겠습니다.
11. 국제 데이터 이전
귀하의 데이터는 당사의 서비스 제공업체가 시설을 유지하는 미국 및 기타 국가(Firebase 서비스를 위한 Google Cloud 리전 포함)에서 처리될 수 있습니다. 데이터가 국제적으로 이전되는 경우, 당사는 표준 계약 조항, 적정성 결정 또는 기타 합법적 이전 메커니즘을 통해 적절한 보호 장치가 마련되도록 합니다.
12. 제3자 링크 및 서비스
앱에는 제3자 웹사이트 또는 서비스(예: 귀하의 은행 웹사이트, Apple의 구독 관리)에 대한 링크가 포함될 수 있습니다. 당사는 이러한 제3자 서비스의 개인정보 보호 관행이나 콘텐츠에 대해 책임지지 않습니다. 접근하는 모든 제3자 서비스의 개인정보 처리방침을 검토하시기 바랍니다.
13. 본 개인정보 처리방침의 변경
당사는 수시로 본 개인정보 처리방침을 업데이트할 수 있습니다. 중대한 변경 사항은 다음 방법을 통해 알려드리겠습니다:
- 본 방침 상단의 “최종 업데이트” 날짜 갱신;
- 실행 가능한 경우 앱 내 알림 제공;
- 귀하의 데이터 처리 방식에 중대한 영향을 미치는 변경의 경우 이메일 알림 발송.
본 개인정보 처리방침의 수정 이후 앱을 계속 사용하시면 업데이트된 방침에 동의하는 것으로 간주됩니다.
14. 데이터 보호 책임자
개인정보 보호 문의, 정보 주체 접근 요청 또는 권리 행사를 위해 당사의 데이터 보호팀에 연락하시기 바랍니다:
Strata Veritate LLC — Data Protection
이메일: security@spendlensapp.com
웹사이트: https://spendlensapp.com/support
당사는 모든 적법한 요청에 대해 30일 이내 또는 관련 법률이 요구하는 기간 내에 응답하겠습니다.
15. 연락처 정보
본 개인정보 처리방침에 대한 일반적인 문의 사항은 아래로 연락해 주시기 바랍니다:
Strata Veritate LLC
이메일: support@spendlensapp.com
웹사이트: https://spendlensapp.com/support