Privacy policy
AwardGrid for iPhone
This policy covers the App Store version of AwardGrid for iPhone.
In short
- AwardGrid for iPhone has no accounts of its own and no analytics, advertising, tracking or crash reporting. Its developer keeps none of your data.
- With sample data, the app sends nothing: sample data is made on your device.
- You connect your seats.aero account with seats.aero's own sign-in (Login with Seats.aero): seats.aero asks you to sign in and approve AwardGrid, and AwardGrid never sees your password. You can disconnect at any time, in AwardGrid or in your seats.aero settings.
- With your account connected, the app sends your search from your device directly to seats.aero, with the access token from that sign-in.
- A small token service at awardgrid.dowhiz.com exchanges and refreshes the sign-in tokens for AwardGrid; it stores nothing and keeps no logs of tokens.
- AwardGrid keeps results from your seats.aero account only in memory while the app runs; it never writes them to its files. Saved keeps your queries; opening a saved query whose results are gone searches again.
- The sign-in tokens, if you connect your account, stay in your device's Keychain. Everything else the app keeps stays in its own storage on your device.
- This website, not the app, counts visits with Cloudflare Web Analytics, without cookies (see This website).
What the app sends, and to whom
Sample data: nothing
Without a seats.aero account, AwardGrid shows sample data: invented results, made on your device for the routes and dates you search, and labelled "Sample data" on every screen that shows them. While sample data is on, searching, flight details, watches and the app's other features send nothing to seats.aero or to anyone else.
seats.aero's sign-in, when you connect
Connect seats.aero (Settings › seats.aero account) opens seats.aero's own sign-in page, Login with Seats.aero, in the system's sign-in sheet. You sign in to seats.aero there and approve AwardGrid; AwardGrid never sees your password. The page receives AwardGrid's client ID and a random value that ties seats.aero's answer to this sign-in. seats.aero then hands a one-time code back to the app, through AwardGrid's token service.
AwardGrid's token service, to exchange and refresh the sign-in tokens
AwardGrid's client secret may not be in the app, so a small token service at awardgrid.dowhiz.com, which runs on Cloudflare Workers, does two things for it. When you connect, it exchanges the one-time code for the sign-in tokens (an access token, valid about an hour, and a refresh token). Later, it gets a new access token with the refresh token. The app sends it only the code and the random value, or the refresh token; the service adds AwardGrid's client ID and secret, passes the request to seats.aero, and hands back only the tokens. It stores nothing and keeps no logs of tokens. It never sees your searches or their results, and, like any server, it sees your device's IP address.
seats.aero, for every search on your account
With your own seats.aero account connected, AwardGrid gets award availability only from the seats.aero Partner API, directly from your device. It sends seats.aero:
- the access token from your sign-in, in the header that authorizes each request;
- your search: airports, dates, cabins, programs and similar filters;
- when you open a result's flight details, that result's availability ID.
These requests are made when you search, when you open flight details, when you open a saved query whose results are gone, and when you open or return to the app while you have watches. seats.aero handles them under its own terms (seats.aero/terms) and privacy practices.
Nothing else
Like any internet request, a request to seats.aero or to the token service shows that service your device's IP address. The app sends nothing to any other server, and the token service, which the developer runs, keeps nothing it receives. If you choose, in iOS, to share analytics with app developers, or you test the app through TestFlight, Apple may pass crash reports or the feedback you send to the developer; those are Apple's features, under your device's settings and Apple's policies.
What stays on your device
- Keychain: the sign-in tokens for your seats.aero account, if you connect it. They are kept for this device only and not synced through iCloud Keychain. The app never shows them.
- The app's own files: whether you use sample data or your seats.aero account; today's count of seats.aero calls; your search conditions and view preferences; your saved queries and when you saved them; watch conditions; saved trip plans; and your settings (language and appearance). The app never writes results from your seats.aero account to them.
- Account results: results from your seats.aero account and watch comparisons are not written to app files; they stay in memory while the app runs. Repeated searches can use an in-memory cache for 45 minutes. Restarting the app loses those results; Saved keeps your queries and searches again when you open one. Watches keep their conditions; the first check after restart sets a new baseline, and later checks compare with it.
- Older stored data: the app checks older files for known seats.aero result fields and removes those fields. If a file is unknown, damaged or cannot be updated safely, it is kept and the app shows on screen that cleanup could not finish. Such an error does not mean every old copy was deleted. This cleanup does not rewrite backups you made outside the app.
- Sample data: while it is on, the app keeps its own copies of these files (its cached results, watches, saved results and plans, the search on screen and settings) in a separate folder, and exiting sample data deletes them. Sample data never reads or changes your sign-in tokens or today's count of seats.aero calls.
The app's files are included in your device's backups, to iCloud or to a computer, when you back up the device.
Your choices
- Disconnect in Settings › seats.aero account: it removes sign-in tokens and clears current account results. Saved query conditions and watches stay. If tokens or older stored data cannot be cleared, the app says so on screen. You can also remove AwardGrid's access in your seats.aero settings; the app clears the connection and current account results when its next token refresh is refused.
- Clear cached results in Settings.
- Exit sample data to delete everything sample data kept.
- Delete the app to delete its files. iOS may keep Keychain items after the app is deleted, so disconnect in Settings first if you want the sign-in tokens gone.
What seats.aero received is held by seats.aero, under its own policies; ask seats.aero about it. AwardGrid has no copy, so it cannot delete it for you.
The App Store privacy label
The label of the App Store version lists Search History as data linked to you, used for app functionality, and no data used to track you. That is what the app sends to seats.aero on your own account, as set out above. The developer does not receive it.
Tracking and advertising
AwardGrid does not track you across other companies' apps and websites, does not use the advertising identifier, and shows no ads.
This website
The pages on awardgrid.dowhiz.com, this one included, are served through Cloudflare, which counts visits to them with Cloudflare Web Analytics. A small script from Cloudflare records the page, the site you came from, your browser, operating system and type of device, your country, and how quickly the page loaded. It uses no cookies and does not fingerprint you, and the developer sees only totals. Like any website, Cloudflare sees your IP address when it serves a page.
The app does not include this script. Its requests to AwardGrid's token service go to Cloudflare, which hosts the service on Cloudflare Workers: the one-time code and the random value when you connect, and the refresh token when the app renews the connection. Opening one of these pages from the app (Settings › Privacy policy or Support) opens it in Safari, as a visit like any other; as you tap the link, iOS may already open a connection to awardgrid.dowhiz.com, which shows Cloudflare your IP address.
Changes
If what the app sends changes, this page changes first, with a new date.
Contact
Questions about this policy: knowhiz.us@gmail.com. AwardGrid is published by Curastone CORP.
AwardGrid is not affiliated with, endorsed by, or sponsored by seats.aero, any airline, or any loyalty program.
隐私政策
AwardGrid iPhone 版
本政策适用于 AwardGrid iPhone 版的 App Store 版本。
概要
- AwardGrid iPhone 版没有自己的账号,应用中也没有统计分析、广告、跟踪或崩溃报告。开发者不保存你的任何数据。
- 使用示例数据时,应用不发送任何内容:示例数据在本机生成。
- 你用 seats.aero 自己的登录(Login with Seats.aero)连接 seats.aero 账户:seats.aero 会请你登录并批准 AwardGrid,AwardGrid 不会看到你的密码。你可以随时在 AwardGrid 或 seats.aero 设置中断开连接。
- 连接账户后,查票时应用用这次登录得到的访问令牌,把你的查询从本机直接发送给 seats.aero。
- awardgrid.dowhiz.com 上的一个小型令牌服务为 AwardGrid 交换和续期登录令牌;它不保存任何内容,也不记录令牌。
- AwardGrid 只在应用运行期间把来自你的 seats.aero 账户的结果保存在内存中,从不写入它的文件。收藏会保留你的查询;打开结果已不在的收藏查询时,会重新查票。
- 连接账户后,登录令牌保存在本机钥匙串中。应用保存的其他内容都留在本机上它自己的存储中。
- 本网站(不是应用)用 Cloudflare Web Analytics 统计访问,不使用 cookie(见本网站)。
应用发送什么,发给谁
示例数据:不发送任何内容
没有 seats.aero 账户时,AwardGrid 显示示例数据:在本机按你查询的航线和日期生成的虚构结果,每个显示它的页面都标注“示例数据”。示例数据开启期间,查票、航班详情、关注以及应用的其他功能都不会向 seats.aero 或任何其他方发送内容。
seats.aero 登录:连接账户时
“连接 seats.aero”(设置 › seats.aero 账户)会在系统的登录窗口中打开 seats.aero 自己的登录页面 Login with Seats.aero。你在那里登录 seats.aero 并批准 AwardGrid;AwardGrid 不会看到你的密码。这个页面会收到 AwardGrid 的客户端 ID,以及一个把 seats.aero 的回应与这次登录对应起来的随机值。之后 seats.aero 通过 AwardGrid 的令牌服务,把一个一次性代码交回应用。
AwardGrid 的令牌服务:交换和续期登录令牌
AwardGrid 的客户端密钥不能放在应用里,所以 awardgrid.dowhiz.com 上的一个小型令牌服务(运行在 Cloudflare Workers 上)替应用做两件事:连接时,用一次性代码换取登录令牌(一个约一小时有效的访问令牌和一个刷新令牌);之后,用刷新令牌换取新的访问令牌。应用只向它发送代码和随机值,或刷新令牌;它加上 AwardGrid 的客户端 ID 和密钥,把请求转给 seats.aero,只把令牌交回。它不保存任何内容,也不记录令牌。它看不到你的查询和查询结果;与任何服务器一样,它会看到你设备的 IP 地址。
seats.aero:用你的账户每次查票
连接你自己的 seats.aero 账户后,AwardGrid 只通过 seats.aero Partner API、从本机直接获取里程票数据。它会向 seats.aero 发送:
- 这次登录得到的访问令牌,放在为每个请求授权的请求头中;
- 你的查询:机场、日期、舱位、里程计划及类似筛选条件;
- 打开某个结果的航班详情时,该结果的 availability ID。
这些请求发生在:你查票时、打开航班详情时、打开结果已不在的收藏查询时,以及你有关注并打开或回到应用时。seats.aero 按其自身的条款(seats.aero/terms)和隐私做法处理这些请求。
其他
与任何网络请求一样,发往 seats.aero 或令牌服务的请求会让对方看到你设备的 IP 地址。应用不会向任何其他服务器发送数据;由开发者运行的令牌服务不保存它收到的任何内容。如果你在 iOS 中选择与应用开发者共享分析数据,或通过 TestFlight 测试本应用,Apple 可能会把崩溃报告或你提交的反馈转交给开发者;这些是 Apple 的功能,受你的设备设置和 Apple 的政策约束。
留在你设备上的内容
- 钥匙串:你连接账户后的 seats.aero 登录令牌。它们只保存在本机,不通过 iCloud 钥匙串同步。应用从不显示令牌。
- 应用自己的文件:你使用示例数据还是 seats.aero 账户;今天的 seats.aero 调用次数;查询条件和显示偏好;你收藏的查询及收藏时间;关注条件;保存的行程规划;以及你的设置(语言和外观)。应用从不把来自你的 seats.aero 账户的结果写入这些文件。
- 账户结果:来自你的 seats.aero 账户的结果和关注比较记录不写入应用文件,只在应用运行期间保存在内存中。重复查询可以使用 45 分钟的内存缓存。重启应用后,这些结果不再保留;收藏会保留你的查询,打开时重新查询。关注会保留条件;重启后的首次检查重新建立基线,之后的检查再与它比较。
- 旧版保存数据:应用会检查旧文件中能识别的 seats.aero 结果字段,并移除这些字段。文件格式未知、损坏或无法安全更新时,文件会保留,应用会在屏幕上提示清理未完成。出现这类错误不表示所有旧副本都已删除。此清理不会改写你在应用之外创建的备份。
- 示例数据:开启期间,应用把自己的一套文件(缓存结果、关注、保存的结果和行程规划、屏幕上的查询和设置)放在单独的文件夹里,退出示例数据时会删除它们。示例数据从不读取或更改你的登录令牌,也不读取或更改今天的 seats.aero 调用次数。
你备份设备时(到 iCloud 或电脑),应用的文件会包含在备份中。
你的选择
- 在“设置 › seats.aero 账户”中断开连接:这会移除登录令牌并清除当前账户结果,收藏的查询条件和关注会保留。令牌或旧版数据如无法清除,应用会在屏幕上说明。你也可以在 seats.aero 设置中移除 AwardGrid 的访问权限;应用的下一次令牌刷新被拒绝时,会清除连接和当前账户结果。
- 在设置中清除缓存结果。
- 退出示例数据,即删除示例数据保存的全部内容。
- 删除应用即删除其文件。应用删除后,iOS 可能仍在钥匙串中保留内容;如需删除登录令牌,请先在设置中断开连接。
seats.aero 收到的内容由 seats.aero 按其自身的政策保存,请直接向 seats.aero 询问。AwardGrid 没有副本,因此无法替你删除。
App Store 隐私标签
App Store 版本的标签列出与你关联的“搜索历史”,用于应用功能,且没有用于跟踪你的数据。这就是上文所述、应用使用你自己的账户发送给 seats.aero 的内容。开发者不会收到这些数据。
跟踪与广告
AwardGrid 不会在其他公司的应用和网站之间跟踪你,不使用广告标识符,也不显示广告。
本网站
awardgrid.dowhiz.com 上的页面(包括本页)通过 Cloudflare 提供,并用 Cloudflare Web Analytics 统计访问。Cloudflare 的一小段脚本会记录访问的页面、你从哪个网站过来、你的浏览器、操作系统和设备类型、所在国家或地区,以及页面加载速度。它不使用 cookie,也不做指纹识别,开发者只能看到汇总数字。与任何网站一样,Cloudflare 在提供页面时会看到你的 IP 地址。
应用本身不包含这段脚本。应用发往 AwardGrid 令牌服务的请求会到达 Cloudflare,因为该服务托管在 Cloudflare Workers 上:连接时发送一次性代码和随机值,续期连接时发送刷新令牌。从应用里打开这些页面(设置 › 隐私政策或支持)会在 Safari 中打开,与其他访问一样;你点按链接时,iOS 可能已经开始连接 awardgrid.dowhiz.com,这会让 Cloudflare 看到你的 IP 地址。
变更
如果应用发送的内容有变,本页会先更新,并注明新的日期。
联系
关于本政策的问题:knowhiz.us@gmail.com。AwardGrid 由 Curastone CORP. 发布。
AwardGrid 与 seats.aero、任何航空公司或任何里程计划均无关联,也未获其认可或赞助。