プライバシーポリシー
HeapDeckは、個人開発者が作った、PostgreSQLサーバーを監視するためのiPhoneアプリです。アカウントはなく、独自のサーバーも持ちません。本ポリシーでは、アプリが保存するもの、何をどこへ送信するか、そしてこのウェブサイトが収集するものについて説明します。
概要
- HeapDeckは、iPhoneから、利用者が設定したPostgreSQLサーバーとSSH踏み台サーバーに接続します。接続、クエリ、データがHeapDeckのサーバーを経由することはありません。そのようなサーバーは存在しないためです。
- パスワード、SSHキー、ピン留めしたフィンガープリント、AIのAPIキーは、デバイスのiOS Keychainにとどまります。
- クラッシュレポートはSentryへ、利用回数の集計は当方が運用する分析サーバーへ、それぞれのスイッチがオンの間だけ送信されます。これらにSQL、データベース名、スキーマ名、テーブル名、列名、ホスト名、フィールドの値、認証情報が含まれることはありません。
- AIアシスタント(Pro)は、利用者が質問したときにだけ、選択したプロバイダーにマスキング済みのスナップショットを送信します。
- 当方はデータを販売せず、広告を表示せず、アプリやウェブサイトをまたいで利用者を追跡することもありません。
アプリの接続先
- お使いのPostgreSQLサーバー:直接、または設定したSSH踏み台サーバー経由で接続します。サーバー上では、HeapDeckは
application_name = HeapDeckとして表示されます。 - アシスタント用に設定したAIプロバイダーまたはモデルサーバー:利用者が質問したときだけ接続します(Pro)。
- クラッシュとエラーのレポートにはSentry、利用回数の集計には当方が運用する分析サーバー。いずれも、それぞれのスイッチがオンの間だけ接続します。
- App内課金のためのAppleのApp Store。
それ以外には接続しません。デモ接続とオンボーディング画面はオフラインで動作します。
iPhoneにとどまるもの
- iOS Keychain(このデバイスのみ、
WhenUnlockedThisDeviceOnly。iCloudと同期されることも、他のデバイスに移されることもありません):データベースとSSHのパスワード、SSH秘密鍵、ピン留めしたTLSとSSHのフィンガープリント、AIのAPIキー、キャッシュされたProのステータス。 - アプリの保護されたファイル:秘密情報を含まない接続設定(名前、ホスト、ポート、データベース、ユーザー、TLSモード、SSHのホストとユーザー)と、保存した列のレイアウト。
- アプリの設定:テーマ、言語、プライバシーのスイッチ、アシスタントのプロバイダー。
- メモリ上のみ:SQLの履歴とアシスタントとの会話。アプリを閉じると消えます。
エクスポートしたページはiOSの共有シートまたはクリップボードに渡され、その先どこへ送るかは利用者が決めます。接続を削除すると、そのパスワード、秘密鍵、ピン留めしたフィンガープリントがデバイスから削除されます。サーバーには影響しません。
AIアシスタント
アシスタントはProの機能です。プロバイダーを設定して質問するまで、何も送信しません。
リクエストはiPhoneから、選択したプロバイダー(Anthropic、OpenAI、OpenRouter、Z.aiのいずれかで、利用者自身のAPIキーを使用)へ、または利用者自身のOllamaやOpenAI互換サーバーへ直接送られます。プロバイダーが受け取った内容には、そのプロバイダーのプライバシーポリシーが適用されます。
- 送信されるもの:質問と、質問した画面のスナップショット(読み取り専用のクエリで読み取ったもの)。
- 送信されないもの:ホスト、ポート、クライアントのアドレス、接続名、パスワード、SSHキー、証明書。
- 値はどのモードでも置き換えられます:SQL内のリテラルは
$1、$2に、エラーメッセージ内の値は<value>に、質問に含まれる数値、メールアドレス、日付はプレースホルダーになります。 - 名前:クラウドプロバイダーの既定である「名前を非表示」では、データベース、スキーマ、テーブル、列、インデックス、ロール、スロットの名前が
table_1のようなプレースホルダーに置き換えられ、iPhone上で元に戻されます。自分のネットワーク上のOllamaの既定である「実際の名前」では、名前はそのまま送信されます。
「モデルに見えている内容」で、送信される前の正確なテキストを確認できます。デモ接続では、アシスタントは内蔵スクリプトから回答し、モデルを呼び出しません。
クラッシュレポートと利用回数の集計
初回起動の最後に、クラッシュとエラーのレポートと利用状況の分析という2つのスイッチがある画面が表示されます。どちらも最初はオンです。それぞれ、その画面で、または後から「設定 › プライバシー」でオフにできます。
- クラッシュとエラーのレポートは、クラッシュや失敗した操作の技術的な詳細(何が、アプリのどこで失敗したか)を、Sentry(Functional Software, Inc.)に送信します。
- 利用状況の分析は、どの画面や手順が使われたかの回数を、当方が自ら運用する分析サーバーに送信します。このデータは誰とも共有されません。
- 選択内容は、オンでもオフでも1回だけ、1件の記録として送信されます。利用状況の分析がオフなら、その記録の後には何も送信されません。クラッシュレポートがオフなら、クラッシュレポートの送信はすぐに止まります。
どちらにも、SQL、データベース名、スキーマ名、テーブル名、列名、ホスト名、フィールドの値、認証情報が含まれることはなく、どちらも広告識別子を使用しません。また、アプリはデバイス上に短い技術ログ(エラーの種類、カウンター、所要時間)を保持しますが、これはデバイスの外に出ません。クラッシュレポートと利用回数の集計は、アプリの修正と改善に役立つ間だけ保管します。送信済みのデータについては support@heapdeck.app までお問い合わせください。
アクセス許可
- Face IDは、アプリのロックがオンのとき(既定ではオン)に、HeapDeckのロックを解除します。Touch IDとパスコードも使えます。Face IDのデータはiOSの中にとどまり、HeapDeckが知るのはロック解除に成功したかどうかだけです。
- ローカルネットワークへのアクセスは、サーバー、踏み台サーバー、Ollamaがローカルネットワーク上にある場合にのみ求められます。
HeapDeckは、位置情報、連絡先、写真、カメラ、マイクへのアクセスを求めません。
購入
HeapDeck ProはAppleを通じて販売されます。当方が支払い情報を受け取ることはありません。アプリは、Proをアンロックするために、Appleが署名したトランザクションをデバイス上で確認します。
このウェブサイト
heapdeck.appはCloudflareでホストされている静的ウェブサイトです。Cloudflareは、サイトを配信し保護するために、IPアドレスなどのリクエストに関する技術的なデータを処理します。
当方は、どのページが読まれ、App Storeバッジなどのどのボタンが使われたかを知るために、Google Analytics 4を使用しています。Google Analytics 4はCookieを設定し、最初の操作の後、またはページを開いてから数秒後に読み込まれます。広告機能はオフです。そのデータにはGoogleのプライバシーポリシーが適用されます。
メールをいただいた場合、アドレスとメッセージは返信のためにのみ使用します。
子ども
HeapDeckは年齢制限4+の開発者向けツールで、子どもを対象としていません。当方は、子どもから個人情報を故意に収集しません。
利用者の選択と本ポリシーの変更
アプリが保存するものはすべてデバイス上にあるため、デバイス上で確認、変更、削除できます。このウェブサイトや、お送りいただいたメールに関することは、support@heapdeck.appまでご連絡ください。
本ポリシーを変更した場合は、新しい日付を付けて、新しい版をこのページに掲載します。
お問い合わせ
HeapDeckはVladimir Chemerisが開発しています。プライバシーに関するお問い合わせ:support@heapdeck.app。