セキュリティ
要約:Salesforceトークンがマシンから離れることはなく、お客様のデータを持って「実家に電話する(外部送信する)」こともありません。デスクトップアプリは設計上ローカルファーストであり、アカウントパネルは請求に必要な情報のみを保存し、どこでも分析(アナリティクス)は行われません。
PKCE(S256)を使用したOAuth 2.0
Section titled “PKCE(S256)を使用したOAuth 2.0”Salesforce組織を接続すると、デスクトップアプリは標準のSalesforce OAuth 2.0 Webサーバーフローを実行します。これにはSHA-256コードチャレンジメソッドを使用したPKCEが含まれます。
これが実際に意味すること:
- アプリは、ログイン試行ごとに暗号学的にランダムな32バイトのコードベリファイアを生成します。
- そのベリファイアのSHA-256ハッシュを計算し、そのハッシュを
code_challengeパラメータとして送信します。 - Salesforceは認証コードを持って
http://localhost:1717/oauth/callbackにリダイレクトします。ループバックリスナーがネットワークに何かを公開することはありません。 - アプリは認証コードをSalesforceと直接トークンと交換し、元のベリファイアを証明として送信します。弊社のバックエンドはこの交換の中間には介在しません。
盗まれた認証コードは、アプリがネットワーク上に送信することのない一致するベリファイアがなければ無用です。
AES-256-CBCで暗号化されたリフレッシュトークン
Section titled “AES-256-CBCで暗号化されたリフレッシュトークン”リフレッシュトークンはローカルに保存され、AES-256-CBCで暗号化されます。
- 256ビットキーはインストールごとに一度、OSの暗号学的に安全なランダムソースから生成され、
Application Supportの.enc_keyというファイルにchmod 600で保存されます。 - 書き込みごとに新しい16バイトのIVが生成され、暗号文の先頭に付加されます。
- 暗号化されたファイルは、同じディレクトリにある
transflate.dbです。 - アクセストークンがディスクに書き込まれることはありません。 これらはプロセス内メモリにのみ存在します。アプリを終了すると消滅します。次に接続をクリックしたとき、アプリはリフレッシュトークンを新しいアクセストークンと再度交換します。
ゼロテレメトリ
Section titled “ゼロテレメトリ”デスクトップアプリにはいかなる種類のアナリティクスSDKも含まれていません。PostHog、Sentry、Firebase Analytics、Crashlytics、Mixpanel、Amplitudeなどは一切ありません。信じられない場合はソースをGrepしてください。
アプリが行う唯一の外部ネットワークコールは以下の通りです。
- Salesforce(OAuth + Metadata API):お客様自身が選択したインスタンスURLへ
- 選択したAIプロバイダー(TranSFlatorバックエンド経由)
transflator-api.web.app:ライセンス検証、アカウント情報、一括翻訳エンドポイントのため。すべてTLS経由です。
それ以外はありません。
すべてがHTTPS
Section titled “すべてがHTTPS”OAuthループバックを除くすべての外部コールは、TLS 1.2以上を使用します。OAuthループバックは127.0.0.1上のプレーンテキストです。このトラフィックは文字通りマシンから離れることがないため、TLSを追加する意味がありません。
接続ごとのセッション再検証
Section titled “接続ごとのセッション再検証”接続をクリックして開くたびに、アプリは/services/data/v65.0/にアクセスしてセッションを検証します。期限切れまたは取り消されたトークンは即座に検出され、再認証を求められます。無効なセッションに対して何かが実行されることはありません。
自分のAIプロバイダーキーを使用する? いいえ。
Section titled “自分のAIプロバイダーキーを使用する? いいえ。”TranSFlatorはバックエンドでプロバイダーキーを処理します。OpenAIのキーやGoogleのキーなどを貼り付ける必要はありません。メリットは導入時間(ゼロ)です。トレードオフは、すべての翻訳コールが弊社のバックエンドを経由することです。これは、お客様が納得する必要のある信頼の境界線です。これが実際に何を意味するかについては、プライバシーポリシーをご覧ください。
transflate.dbファイルには何が入っていますか?
Section titled “transflate.dbファイルには何が入っていますか?”connections— 保存された組織ラベル、インスタンスURL、環境タイプ、最終テストタイムスタンプtokens— AES暗号化されたリフレッシュトークン(接続ごとに1つ)workspace— キャッシュされたメタデータスキャン結果deployment_log— 開始したデプロイのローカル履歴
このファイルを削除すると、.enc_key以外のすべてが消去されます。.enc_keyも削除すると、次回の実行時に新しいキーが生成されます。