1. はじめに
Strata Veritate LLC(以下「当社」「弊社」「私たち」)は、モバイルアプリケーションSpendlens(以下「本アプリ」)を運営しています。本プライバシーポリシーでは、お客様が本アプリをご利用になる際に、当社がどのように情報を収集、使用、開示、保護するかについて説明します。
当社は、お客様のプライバシーおよび財務データの保護に取り組んでいます。本ポリシーは、カリフォルニア州消費者プライバシー法(CCPA)、該当する場合は一般データ保護規則(GDPR)、およびAppleのApp Store審査ガイドラインを含む、適用されるデータ保護法に準拠するよう策定されています。
本プライバシーポリシーをよくお読みください。本アプリをご利用いただくことにより、お客様は本ポリシーに記載された取り扱いに同意したものとみなされます。本プライバシーポリシーに同意されない場合は、本アプリをご利用にならないでください。
2. 収集する情報
2.1 お客様が直接提供する情報
| データカテゴリ | 例 | 目的 |
|---|---|---|
| アカウント情報 | 氏名、メールアドレス、プロフィール画像URL | アカウント作成、本人確認、連絡 |
| 財務データ | 取引、金額、加盟店、カテゴリ、メモ、予算、貯蓄目標、投資保有銘柄、取得原価 | アプリの中核機能(予算管理、追跡、分析) |
| アカウント設定 | 希望通貨、言語、通知設定、テーマ設定、アクセシビリティ設定 | パーソナライズおよびユーザー体験の向上 |
2.2 第三者サービスを通じて収集する情報
2.2.1 Plaid(銀行同期 — Pro+Connect限定)
銀行同期を有効にした場合、Plaid, Inc.が以下の情報を収集し、当社に提供します:
- 口座名、口座種類、残高
- 取引履歴(金額、日付、加盟店、カテゴリ)
- 口座番号および支店番号の一部(マスク済み、識別目的のみ)
- 金融機関名およびロゴ
当社はお客様の銀行ログイン認証情報を受信または保存しません。Plaidアクセストークンは、当社のサーバーインフラストラクチャ(Firebase Cloud FunctionsおよびGoogle Secret Manager)にのみ保存され、お客様の端末に送信または保存されることはありません。
Plaidのデータ取り扱いについては、こちらをご覧ください:Plaidのプライバシーポリシー
2.2.2 Firebaseサービス(Google)
| サービス | 処理されるデータ | 目的 |
|---|---|---|
| Firebase Authentication | メールアドレス、認証プロバイダ識別子、認証トークン | 安全なユーザーID管理 |
| 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 自動的に収集される情報
| データカテゴリ | 詳細 | 目的 |
|---|---|---|
| デバイス情報 | デバイスモデル、OSバージョン、アプリバージョン(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に裏付けられたルート鍵→鍵暗号化鍵(KEK)→レコードごとのコンテンツ暗号化鍵(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楕円曲線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 お客様のデータを販売しません
当社は、お客様の個人情報または財務データを第三者に販売、貸与、または取引することはありません。広告主とデータを共有することもありません。データブローカー業務にも関与しません。
6.2 第三者サービスプロバイダ
当社は、本アプリの運営に必要な範囲に限り、以下のカテゴリのサービスプロバイダとデータを共有します:
| プロバイダ | 共有されるデータ | 目的 |
|---|---|---|
| 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. 第三者リンクおよびサービス
本アプリには、第三者のウェブサイトやサービス(お客様の銀行のウェブサイト、Appleのサブスクリプション管理など)へのリンクが含まれる場合があります。当社はこれらの第三者サービスのプライバシー慣行やコンテンツについて責任を負いません。アクセスする第三者サービスのプライバシーポリシーを確認されることをお勧めします。
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