プライバシーポリシー

最終更新日: 2026-08-01 / 発効日: 2026-08-01

Aifuda(合札)は、メールに届いた予約情報を、必要な瞬間に取り出せるようにする iOS アプリです。

このアプリの設計方針は一言で言えば「メールの中身を端末から出さない」ことです。以下はその具体的な内訳です。


1. 要約

開発者が収集する個人情報ありません
分析 / 広告 / トラッキング SDK一切組み込んでいません
広告表示しません
ユーザー登録・アカウント作成必要ありません
メール本文の送信先どこにも送りません。端末内で解析し、予約を取り出した時点で破棄します
開発者のサーバが受け取るものApple Wallet パスの manifest.json(ファイル名とハッシュ値の辞書)だけ(機能を使った場合のみ)

2. 端末の中だけに保存されるもの

2-1. 予約情報(iOS の SwiftData / アプリ専用領域)

メールから取り出した構造化済みの予約情報だけを保存します。

保存する項目:

保存しない項目:

これらは iPhone のアプリ専用領域に保存され、iOS のデータ保護(端末の暗号化)の対象です。開発者はアクセスできません。

2-2. アクセストークン(iOS キーチェーン)

Gmail / Outlook と連携した場合、アクセストークンとリフレッシュトークンを iOS のキーチェーンにのみ保存します。設定ファイル・ログ・サーバのいずれにも書き出しません。

2-3. アプリの設定(iOS の UserDefaults)

秘密でない設定値のみを保存します。OAuth クライアント ID、Wallet 署名サーバの URL、Pass Type ID、Team ID など。署名サーバの認証トークンだけは例外的にキーチェーンに保存します。

2-4. ウィジェット用のスナップショット(App Group 共有領域)

ホーム画面 / ロック画面のウィジェットと Live Activity に表示するため、表示に必要な最小項目だけを JSON ファイルとして端末内の共有領域に書き出します。

含まれるもの: 列車名、発駅・着駅、発時刻・着時刻、先頭 1 名分の座席、人数

含まれないもの: お預かり番号、金額、会員 ID ハッシュ(ロック画面に出る面には機微な情報を載せない方針のため)


3. 端末から外に出る通信

アプリが通信する先は以下がすべてです。

通信先何のために何を送るか
Google(accounts.google.com / oauth2.googleapis.com / gmail.googleapis.com Gmail 連携(ユーザーが有効にした場合のみ) 認可リクエストと、from:expy.jp 等の検索条件。受信は端末側で、メール本文は端末から出ません
Microsoft(login.microsoftonline.com / graph.microsoft.com Outlook 連携(ユーザーが有効にした場合のみ) 同上
Aifuda の署名サーバ Apple Wallet パスの署名(ユーザーが機能を使った場合のみ) manifest.json のバイト列だけ(下記 3-2)

これ以外のサーバとは通信しません。分析ビーコン・広告ネットワーク・クラッシュレポート SDK は組み込んでいません。

3-1. メール本文について

Gmail API / Microsoft Graph へのリクエストは端末から直接行います。開発者のサーバは経由しません。取得したメール本文は端末内のメモリ上でのみ扱われ、予約情報を取り出した時点で破棄されます。ファイルにもデータベースにも書き出しません。

3-2. Apple Wallet パスの署名について

Apple Wallet のパス(.pkpass)には、Apple が発行した証明書による署名が必要です。この署名鍵をアプリに同梱することは Apple の規約上も安全上も許されないため、署名だけを開発者のサーバに依頼します。

このときサーバに送るのは manifest.json だけです。これは「ファイル名 → そのファイルの SHA-1 ハッシュ値」の辞書で、予約の内容(駅名・座席・時刻・お預かり番号)は含まれません。パス本体(pass.json)も画像も端末から出ません。

サーバは受け取った manifest.json の中身をログに記録しません。記録するのはバイト数・ファイル数・エラー理由コードだけです。署名を返した後、リクエストの内容は保持しません。

正確を期すための注記: SHA-1 ハッシュは「送っていない」ことの説明であって、暗号学的な秘匿の保証ではありません。パスのテンプレートと候補値を知っている者が総当たりを行えば、元の値を推測できる可能性は理論上あります。私たちは「予約の内容をサーバに送らない」と述べているのであって、「サーバから復元不可能である」とは述べていません。


4. Google ユーザーデータの取り扱い(Limited Use)

Gmail 連携を使う場合、Aifuda は https://www.googleapis.com/auth/gmail.readonly(読み取り専用)スコープのみを要求します。メールの送信・変更・削除は行いません。

Aifuda が Google API から受け取った情報の利用および他のアプリへの転送は、Google API Services User Data Policy(Limited Use 要件を含む)に準拠します。

具体的には、Aifuda は Google ユーザーデータについて次を行いません:

Gmail から取得したメール本文は端末内でのみ扱われ、開発者のサーバには一切送信されません。取り出された予約情報は端末内にのみ残ります。

連携の取り消し: アプリ内の「連携」画面から「連携を解除」を選ぶと、端末に保存されたトークンを削除します。あわせて Google アカウントのセキュリティ設定からもアクセス権を取り消せます。


5. Microsoft Graph(Outlook)の取り扱い

Outlook 連携を使う場合、Aifuda は Mail.Read(読み取り専用)、offline_accessopenid のスコープのみを要求します。メールの送信・変更・削除は行いません。

Gmail と同様に、Microsoft Graph へのリクエストは端末から直接行い、メール本文は端末から出ません。取得したデータを広告に利用すること、第三者に提供すること、モデルの学習に使うことはありません。

連携の取り消し: アプリ内の「連携」画面から解除できます。あわせて Microsoft アカウントのアプリとサービス(職場・学校アカウントの場合は My Apps)からも取り消せます。


6. 位置情報・写真・連絡先・カレンダー

いずれも取得しません。 アプリはこれらのフレームワークを使用しておらず、対応する権限リクエストも行いません。

7. トラッキングと広告

トラッキングは行いません。 広告識別子(IDFA)を取得せず、App Tracking Transparency の許可も求めません。広告は表示しません。他社のトラッキング SDK は組み込んでいません。

8. 子どもの個人情報

Aifuda は特定の年齢層を対象としたアプリではありません。そもそも個人情報を収集しないため、子どもの個人情報を意図的に収集することもありません。

9. データの削除

消したいもの方法
保存された予約情報アプリを削除すると、端末内のデータベースごと消えます
アクセストークンアプリ内「連携」画面の「連携を解除」。またはアプリ削除
Google / Microsoft 側のアクセス権上記 4 章・5 章のリンクから取り消し
開発者が保持しているデータ保持していないため、削除の依頼先はありません

Aifuda はユーザー登録を必要としないため、削除すべきアカウントも存在しません。

10. 第三者への提供

個人情報を第三者に販売・提供することはありません。法令に基づく開示請求があった場合も、開発者は開示できるユーザーデータを保持していません。

11. データの保存場所と期間

すべてのデータはユーザーの iPhone 内にあります。開発者側にユーザーデータのデータベースはありません。保存期間はユーザーがアプリを削除するまでです。

12. ポリシーの変更

内容を変更する場合は、このページの「最終更新日」を更新します。重要な変更がある場合はアプリの更新情報でもお知らせします。

13. お問い合わせ

Privacy Policy

Last updated: 2026-08-01 / Effective: 2026-08-01

Aifuda is an iOS app that surfaces reservations buried in your mailbox at the moment you need them.

The design principle in one sentence: the contents of your mail never leave your device. The details follow.


1. Summary

Personal data collected by the developerNone
Analytics / advertising / tracking SDKsNone are embedded
AdvertisingNone
Sign-up or account creationNot required
Where mail bodies are sentNowhere. They are parsed on device and discarded once the reservation is extracted
What the developer's server receivesOnly the manifest.json of an Apple Wallet pass — a dictionary of file names and hashes — and only if you use that feature

2. What is stored on your device only

2-1. Reservations (SwiftData, app-private container)

Only the structured reservation extracted from the mail is stored:

Not stored:

This data lives in the app's private container and is covered by iOS Data Protection. The developer cannot access it.

2-2. Access tokens (iOS Keychain)

If you connect Gmail or Outlook, the access and refresh tokens are stored only in the iOS Keychain. They are never written to preferences, logs, or any server.

2-3. App settings (UserDefaults)

Only non-secret values: OAuth client IDs, the Wallet signing server URL, Pass Type ID, and Team ID. The signing server's auth token is the one exception and is stored in the Keychain.

2-4. Widget snapshot (App Group container)

To render the home screen / lock screen widget and the Live Activity, the app writes a JSON file containing only what is displayed: train name, departure and arrival stations, departure and arrival times, the first seat, and the seat count.

It deliberately excludes the confirmation number, fare amounts, and the membership ID hash, because that data would otherwise appear on the lock screen.


3. Network traffic that leaves your device

These are the only destinations the app contacts:

DestinationPurposeWhat is sent
Google (accounts.google.com, oauth2.googleapis.com, gmail.googleapis.com) Gmail integration, only if you enable it Authorization requests and search filters such as from:expy.jp. Responses are handled on device; mail bodies never leave it
Microsoft (login.microsoftonline.com, graph.microsoft.com) Outlook integration, only if you enable it Same as above
Aifuda signing server Signing an Apple Wallet pass, only if you use that feature Only the bytes of manifest.json (see 3-2)

No other servers are contacted. There are no analytics beacons, ad networks, or crash-reporting SDKs.

3-1. Mail bodies

Requests to the Gmail API and Microsoft Graph are made directly from your device. They do not pass through the developer's servers. Retrieved mail bodies exist only in memory on your device and are discarded as soon as the reservation is extracted. They are never written to a file or a database.

3-2. Apple Wallet pass signing

An Apple Wallet pass (.pkpass) must be signed with a certificate issued by Apple. Bundling that signing key inside the app is prohibited by Apple's terms and unsafe in any case, so the signing step alone is delegated to the developer's server.

Only manifest.json is sent. It is a dictionary mapping file names to SHA-1 hashes; it contains none of the reservation's content (stations, seats, times, confirmation number). The pass body (pass.json) and the images never leave your device.

The server does not log the contents of manifest.json. It logs only byte counts, file counts, and error reason codes, and it retains nothing after returning the signature.

A precise note: the SHA-1 hashes explain what is not sent; they are not a cryptographic guarantee of secrecy. Someone who knows the pass template and the candidate values could in principle recover them by brute force. Our claim is that reservation content is not sent to the server — not that it would be unrecoverable from what is sent.


4. Google user data (Limited Use)

When you use the Gmail integration, Aifuda requests only the https://www.googleapis.com/auth/gmail.readonly scope. It never sends, modifies, or deletes mail.

Aifuda's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

Specifically, Aifuda does not:

Mail bodies retrieved from Gmail are handled entirely on device and are never transmitted to the developer's servers. Extracted reservations remain on the device.

Revoking access: choose "Disconnect" on the Accounts screen in the app, which deletes the stored token. You can also revoke access from your Google Account permissions page.


5. Microsoft Graph (Outlook)

When you use the Outlook integration, Aifuda requests only Mail.Read, offline_access, and openid. It never sends, modifies, or deletes mail.

As with Gmail, requests go directly from your device and mail bodies never leave it. The data is never used for advertising, transferred to third parties, or used to train models.

Revoking access: disconnect from the Accounts screen in the app. You can also revoke access from Microsoft account apps and services, or My Apps for work or school accounts.


6. Location, photos, contacts, calendar

None are accessed. The app does not link against these frameworks and never prompts for the corresponding permissions.

7. Tracking and advertising

No tracking. The app does not read the advertising identifier (IDFA), does not present an App Tracking Transparency prompt, and shows no ads. No third-party tracking SDKs are embedded.

8. Children's privacy

Aifuda is not directed at any particular age group. Because it collects no personal data at all, it does not knowingly collect personal data from children.

9. Deleting your data

WhatHow
Stored reservationsDelete the app; the database goes with it
Access tokens"Disconnect" on the Accounts screen, or delete the app
Google / Microsoft access grantsUse the revocation links in sections 4 and 5
Data held by the developerNone is held, so there is nothing to request deletion of

Aifuda requires no sign-up, so there is no account to delete.

10. Sharing with third parties

Personal data is never sold or shared. Even in response to a lawful request, the developer holds no user data to disclose.

11. Storage location and retention

All data lives on your iPhone. There is no user database on the developer's side. Retention lasts until you delete the app.

12. Changes to this policy

If this policy changes, the "Last updated" date above is revised. Significant changes are also noted in the app's release notes.

13. Contact