トラスト

トラストセンター

Sextant は、Salesforce の管理者と開発者のためのブラウザ拡張機能です。このページでは、Sextant があなたのデータをどう扱うのか、各記述がどのように確かめられているのか、そしてどこに限界があるのかを説明します。

Sextant が自らについて示すこと

Sextant が設定の「Privacy & security」(プライバシーとセキュリティ)に表示するものと同じ 6 つの記述です。それぞれに、どう確かめられているかを示しています。ブラウザによる強制、自動テストによる確認、またはリリースビルドごとの確認です。

  1. Sextant がリクエストを送信する先は Salesforce だけです。また、Sextant のページからほかのサイトへの接続は、ブラウザによってブロックされます。

    • ブラウザが強制
    • 自動テストで確認
    • すべてのリリースビルドで確認

    意味しないこと: ブラウザがこれを強制するのは、Sextant 自身のページとサービスワーカーに対してです。Salesforce のページの中で動く Sextant の部分は、自分ではどのサイトにも何も送信せず(サービスワーカーに頼みます)、そのことはブラウザが強制するのではなく、テストで確かめています。ブラウザのポリシーは my.salesforce.com 配下のすべてのホストを許可しますが、コードは各リクエストを、使っているセッションの組織の API ホストにだけ送信します。Salesforce、ブラウザ、ほかの拡張機能が行うことについて述べたものではありません。

    確認できる場所(コード、英語)
    • manifest.config.ts content_security_policy.extension_pages, connect-src 'self' https://*.my.salesforce.com
    • security-qa/csp-enforcement.pw.ts loads the built extension; requests to other hosts never reach the network
    • src/shared/salesforce-transport.ts the only function that performs a request; destination checked per request
    • src/security/network-boundary.test.ts fails if any other module makes a request
  2. アクセス解析、テレメトリ、クラッシュレポート、広告は一切ありません。

    • ブラウザが強制
    • 自動テストで確認
    • すべてのリリースビルドで確認

    意味しないこと: Chrome ウェブストアはすべての公開者に、インストール数などの集計された統計を表示します。また、Chrome 自体も Google と通信します(アップデートの確認など)。Sextant は、そのどちらにも何も送信しません。

    確認できる場所(コード、英語)
    • scripts/release/scan-dist.mjs fails a release whose bundle contains an analytics or telemetry endpoint or SDK
    • src/security/network-boundary.test.ts no request primitive outside the Salesforce transport
    • manifest.config.ts the CSP leaves no destination for such data
  3. Sextant のアカウントやサーバーは存在しません。Sextant での操作内容が開発者に送信されることはありません。

    • ブラウザが強制
    • リリース手順の一部

    意味しないこと: 開発者に連絡した場合(サポートやセキュリティの報告のため)、送った内容は、ほかのメッセージと同じように受け取られます。

    確認できる場所(コード、英語)
    • manifest.config.ts no host a Sextant server could live on is reachable
    • docs/security/RELEASE_SECURITY.md adding a backend is a Trust Architecture Change requiring a policy update first
  4. Sextant が実行するものはすべて、インストールされた拡張機能に含まれています。コードをダウンロードすることはありません。

    • ブラウザが強制
    • 自動テストで確認
    • すべてのリリースビルドで確認

    意味しないこと: アップデートは Chrome ウェブストアからパッケージ全体の新しいバージョンとして届き、リリースプロセスはビルドしたすべてのパッケージの SHA-256 を記録します。それでも、正当なアップデートが Sextant の動作を変えることはありえます。そのため、これらの記述に関わる変更は、この一覧の対応する変更とともにリリースしなければなりません。

    確認できる場所(コード、英語)
    • Manifest V3 and manifest.config.ts script-src 'self', no 'unsafe-eval'
    • security-qa/csp-enforcement.pw.ts string evaluation is refused in an extension page
    • src/security/code-boundary.test.ts no eval, Function constructor or HTML injection in the source
  5. Salesforce のセッションは、リクエストに必要なときに読み取られます。Sextant がセッションを保存、記録、エクスポートすることはありません。

    • 自動テストで確認

    意味しないこと: Sextant は、ブラウザですでにお持ちのセッションを使います。Salesforce からログアウトすると、そのセッションは終わります。

    確認できる場所(コード、英語)
    • src/background/index.ts getSessionId: read from the cookie store per request, never written
    • src/security/session-boundary.test.ts the session value never reaches storage, logs, messages or exports
  6. Sextant が保存するデータは、このブラウザプロファイル内にとどまります。設定で確認、エクスポート、削除ができます。

    • 自動テストで確認

    意味しないこと: オペレーティングシステムとブラウザのプロファイルが提供するもの以上に、Sextant が暗号化することはありません。このブラウザのプロファイルにアクセスできる人は、誰でも読めます。

    確認できる場所(コード、英語)
    • src/shared/data-inventory.ts every stored key, classified; chrome.storage.local only (no sync)
    • src/security/data-inventory.test.ts fails when code stores a key the inventory does not describe

よくある質問

Sextant は何にアクセスできますか?

Salesforce の Lightning ページ(表示されているテキストを読み取って特定するため)、組織自身の API(すでにお持ちのセッションで、あなたとして呼び出します)、そしてブラウザのプロファイルにある Sextant 自身のストレージです。下の権限の一覧表に、許可ごとの内容と、それがしないことを記載しています。

権限

拡張機能が要求するすべての権限と、その用途、そしてしないこと。

権限用途しないこと
storage設定、使用している組織、Sextant がそれらの組織から読み込んだ内容、ワークスペース、履歴を、このブラウザプロファイルに保存します。Google アカウントには何も同期せず、保存した内容をどこにも送信しません。
unlimitedStorage大規模な組織のメタデータは、ブラウザが拡張機能に既定で割り当てるストレージの上限を超えることがあります。Sextant 自身のストレージ以外のストレージや、ほかのサイトのデータへのアクセスを Sextant に与えるものではありません。
activeTabSextant のツールバーメニューが、メニューを開いたタブのアドレスを読み取れるようにします。これにより、表示中の Salesforce 組織の名前を表示できます。ほかのタブや後のアクセスには何の権限も与えず、ページ内でコードを実行せず、インストール時の警告も追加しません。Sextant は、Chrome が「閲覧履歴の読み取り」と説明している、より広範な `tabs` 権限は要求しません。
cookiesSextant があなたに代わって Salesforce を呼び出すときに、組織の API アドレス用の Salesforce セッション Cookie を読み取ります。読み取る Cookie は 1 つだけで、Salesforce のアドレス用に限られます。保存、記録、エクスポートすることはありません。ほかのサイトの Cookie は読み取れません。
alarmsブラウザが Sextant のバックグラウンド処理を一時停止した後に、大規模な組織の長い読み込みを再開します。ブラウザを閉じている間は動作せず、Sextant の外では何もスケジュールしません。
https://*.lightning.force.com/*Salesforce Lightning のページ。表示ラベルが何であるかを Sextant が示し、その場で翻訳を編集するのは、これらのページだけです。Sextant は、これらのページ上の表示ラベルのテキストをブラウザ内で読み取り、それが何かを特定します。ページの内容をどこにも送信しません。
https://*.my.salesforce.com/*組織の API アドレス。Sextant はそこで、既存のセッションを使って、あなたに代わって Salesforce 自身の API を呼び出します。各リクエストは、そのリクエストが使うセッションの組織にのみ送信されます。

Sextant は何を、どこに保存しますか?

設定、使用した組織、読み取ったメタデータのキャッシュ、検知した変更の履歴、翻訳のスナップショット、待機中のリリース、ワークスペース、そして有効にした場合に限り開発者向けの診断情報です。すべて、お使いのコンピューターのブラウザプロファイルにある chrome.storage.local に保存されます。Google アカウントとは何も同期されません。

Sextant が保存するもの

Sextant がブラウザのプロファイルに保存するデータの種類ごとに、その理由と保存期間を示します。Sextant の設定の「Privacy & security」(プライバシーとセキュリティ)に表示されるものと同じ一覧で、保存を行うコードから生成されています。

データ保存する理由保存期間
各種設定Sextant を前回の設定のまま保つため。変更またはリセットするまで。
使用した組織組織ごとにデータを分けて保持し、作業中の組織を表示し、組織を切り替えるため。削除するまで。その組織を開くたびに更新されます。
組織のメタデータキャッシュホバー、検索、アクティビティに即座に応答し、ページごとに大規模な組織を読み込み直さないようにするため。読み込むたびに置き換えられ、削除されるまで保持されます。必要に応じて Sextant が再度読み込みます。
アクティビティ履歴と変更のベースライン何が変わったか、どれが自分の変更かを表示するため。Salesforce には、Sextant が後から再構築できるような同等の値変更履歴がないため、Sextant は確認した内容を保持します。各組織で Sextant が確認した直近 30 日分で、上限は 3,000 件のイベントまたは 2 MB です。それより古いイベントは自動的に削除されます。設定で拡張ローカル履歴をオンにすると、代わりに約 180 日分を保持します(この場合も上限があります)。ベースラインは組織を読み込むたびに置き換えられます。
翻訳のスナップショット翻訳が反映されたかどうか、2 回の読み込みの間に何が変わったかを確認するため。組織ごとの最新のスナップショット。古いものは置き換えられます。
リリース記録ブラウザが再起動しても、Salesforce が完了するまでリリースを追跡し、リリースの内容を報告するため。削除するまで保持されます。進行中のリリースは、完了するまで削除できません。
ワークスペース作業中のコンポーネント一式と、変更したものの package.xml。アイテムを削除するか、ワークスペースを削除するまで。
診断データ記録すると決めた検出やパフォーマンスの問題を調査するため。上限あり:新しいトレースとタイミング記録が最も古いものを置き換えます。消去するまで保持されます。
このブラウザのほかの Salesforce ユーザー用に保持しているデータSextant が読み込む内容は 1 人の Salesforce ユーザーの権限で許可された範囲なので、別のユーザーに表示されることはありません。また、別の人としてログインしても、Salesforce では取り戻せない同僚の履歴が消えてはなりません。そのユーザーが再びログインすると、手を加えずにそのまま返されます。そのユーザーが再びログインするまで、またはここで削除されるまで。メタデータキャッシュは組織ごとに直前の 1 ユーザー分だけ保持され、3 人目のユーザーのものに置き換えられます。Sextant が読み込んだユーザーを記録する前に保存されたデータは、誰にも表示されません。Salesforce から再取得できるものは削除され、それ以外は削除されるまでここに保管されます。
旧バージョンのデータ移行のみ。移行または削除されるまで。

保存されるすべてのキー、その出どころ、書き出しに含まれるもの:データの取り扱い(英語)

ブラウザの外に送られるものはありますか?

Salesforce 組織へのリクエストと、あなたが求めたときに限り、保存またはリリースする翻訳の変更です。ブラウザ自身のコンテンツセキュリティポリシーにより、Sextant のページとサービスワーカーはほかのサイトに接続できません。Salesforce のページの中で動く Sextant の部分は、リクエストを一切行いません。

データの行き先 Sextant はブラウザの中で動きます。リクエストの送信先は Salesforce 組織自身の API アドレスで、保存するデータはブラウザが拡張機能に割り当てるストレージから出ません。データの送り先となる Sextant のサーバーは存在しません。 ブラウザ Salesforce のページ Sextant 拡張機能のストレージ Salesforce 組織 HTTPS セッション ブラウザがブロック ほかのサイト アクセス解析 · AI プロバイダー (Sextant のサーバーはない)
Sextant はブラウザの中で動きます。リクエストの送信先は Salesforce 組織自身の API アドレスで、保存するデータはブラウザが拡張機能に割り当てるストレージから出ません。データの送り先となる Sextant のサーバーは存在しません。

Sextant はテレメトリーを収集しますか?

いいえ。アクセス解析、テレメトリー、クラッシュレポート、広告はありません。リリースビルドはすべて、公開の前にアクセス解析のエンドポイントや SDK が含まれていないかスキャンされます。

Sextant にはサーバーやアカウントがありますか?

いいえ。Sextant のサーバーもアカウントもありません。Sextant で行ったことが開発者に届くことはありません。サーバーを追加することは信頼アーキテクチャの変更(Trust Architecture Change)にあたり、リリースする前に、このページ、プライバシーポリシー、ストアの掲載情報で開示しなければなりません。

認証はどのように行われますか?

Sextant は、ブラウザですでにお持ちの Salesforce のセッションを使います。バックグラウンドの処理が、リクエストに必要なときに組織のセッション Cookie を読み取り、その組織の API アドレスにだけ送信します。セッションが保存、記録、書き出しされることはなく、パスワードを求められることもありません。

アップデートはどのように届きますか?

Chrome ウェブストアから、パッケージ全体の新しいバージョンとして届きます。Sextant は実行中にコードをダウンロードしません。コンテンツセキュリティポリシーがリモートのスクリプトと文字列の評価を禁止しており、どちらかを含むリリースビルドは自身のスキャンで不合格になります。

リリースはどのように検証されますか?

1 つのスクリプトが、クリーンなチェックアウトのタグ付きコミットからすべてのリリースをビルドし、最初に不合格となったチェックで止まります。型チェック、全テスト、情報漏えいのスキャン、再現可能なビルド、ビルドしたパッケージのスキャン、実際のブラウザでのコンテンツセキュリティポリシーの確認、ソフトウェア部品表、SHA-256 付きの決定的なパッケージ、そして承認済みの基準と比べた、信頼に関わるすべての差分です。一覧はリリースプロセスのページにあります。

リリースプロセス(英語) · 脅威モデル(英語)

ローカルのデータはどうすれば削除できますか?

Sextant の設定の「Privacy & security」(プライバシーとセキュリティ)で、データの種類ごとの使用量を確かめ、書き出し(セッションや認証情報は決して含まれません)、削除ができます。対象はキャッシュ、履歴、ワークスペース、診断情報、設定、1 つの組織のデータ、またはすべてです。ここで削除しても、Salesforce 側は何も変わりません。アンインストールすると、すべて削除されます。

どのような変更があれば、ここに書かれた内容が更新されますか?

サーバー、アカウント、アクセス解析、AI プロバイダー、新しい権限やホスト、新しい送信先、リモートのコード、新しい種類の保存データです。いずれも信頼アーキテクチャの変更(Trust Architecture Change)にあたり、それを含むリリースはセキュリティ上重要なものとして分類され、明示的な承認が必要です。また同じリリースで、このページ、プライバシーポリシー、データの取り扱いに関する文書、ストアの掲載情報を更新しなければなりません。

セキュリティ上の問題の報告

セキュリティ上の問題は、公開の場で報告しないでください。報告の方法、対象範囲、その後の流れは、セキュリティポリシーで説明しています。 セキュリティポリシー(英語)

非公開の報告窓口: security@usesextant.dev