当社では、個人情報(PII)や財務情報などの機密性の高いデータを保護することを目的として、セッションリプレイを設定する際に積極的なアプローチを取ることを強く推奨します。
アプリのプライバシー要件を満たして貴社のポリシーに準拠するために、リプレイのプライバシー構成オプションは複数備わっています。
- 初期プライバシー構成。貴社のアプリを異なるレベルでテキストをマスキングできる、3種類の初期プライバシー設定から選択します。これにより、PIIおよび秘密コンテンツが、アプリとユーザーの個別のニーズに基づいて適切に処理されるようになります。
- 詳細なプライバシールール。初期プライバシー構成を選択した後、CSSセレクタールールを利用してリプレイのプライバシー設定を微調整できます。マスク、マスク解除、またはブロックする特定の要素を定義できるため、リプレイでキャプチャされ表示される情報を正確に制御できます。
- オーディエンスキャプチャ。Pendoセグメントビルダーを使用して、リプレイのオーディエンスを定義できます。定義することで、必ず訪問者の特定のグループまたはサブセットのみが、リプレイで操作をキャプチャされるようになります。
この記事の次のセクションでは、各プライバシーオプションと、それらを活用してリプレイから貴重なインサイトを取得するのと同時にプライバシーを最大限保護する方法について詳しく説明します。
以下のサンプル画像では、テキストが表示されている箇所はマスキングされていない要素を、アスタリスクはマスキングされた要素を表しており、青緑色のプレースホルダー要素はブロックされた要素を表しています。
このプライバシー設定を補完するものとして、Pendoの厳格なセキュリティ基準とプライバシー基準もセッションリプレイに適用されます。弊社のセキュリティ慣行、コンプライアンス、およびプライバシー規約に関する詳細情報は、トラストセンター(Trust Center)でご確認いただけます。
重要:セッションリプレイで機密データをキャプチャし、そのデータをセッションリプレイの保存期限を待たずに削除する必要がある場合は、 Pendoサポートにお問い合わせください。すべてのリプレイは30日後に期限切れとなり、自動的に削除されますが、リプレイをクリップとして保存すると、手動で削除しない限り、1年間利用可能です。
[リプレイ設定]ページ
Pendo管理者は、個々のアプリケーションの[リプレイ設定(Replay Settings)]ページで、各セッションリプレイのプライバシー設定を行います。このページにアクセスする手順は以下のとおりです。
- [設定(Settings)]>[サブスクリプション設定(Subscription Settings)]の順に進みます。
- [アプリケーション(Applications)]タブを選択し、リストからアプリを開きます。
- [リプレイ設定]タブを選択します。
プライバシー構成の開始
セッションリプレイを有効にする前に、初期プライバシー構成(最大プライバシー、入力のみ、または最小プライバシー)を選択する必要があります。この初期プライバシーオプションは一度しか選択できません。選択した後、CSSセレクタールールを作成して、リプレイのプライバシーをさらに設定することができます。
それぞれの初期プライバシー構成について学ぶには、[リプレイ設定(Replay Settings)]ページで[例を表示(View example)]を選択するか、以下をお読みください。
Pendoのデータフィルタリングはクライアント側でローカルに実行されます。セッションリプレイが訪問者のインタラクションをキャプチャすると、選択したプライバシー設定が即座に適用され、設定に応じて当該データのマスキングやブロックが行われます。このようにしてPendoのサーバーに送信されるデータは秘匿化され、機密情報は確実に保護されます。Pendo UIのリプレイには、フィルタリング後のデータが表示されます。
アプリに最も適したプライバシー構成を決定したら、[選択(Select)]を選択します。この[プライバシー構成(Privacy Configuration)]セクションでは、対応するセレクタールールをテーブルに入力し、必要に応じて新しいCSSセレクタールールを作成できるようにします。
注:開始時にどのプライバシーオプションを選択しても、タイプ属性に電話番号
、メールアドレス
、またはパスワード
が使用されているテキストのマスキングを解除することはできません。さらに、すべての音声
および動画
要素はデフォルトでブロックされます。これらの要素のブロックを解除する場合は、セレクタルールを使用して明示的にマスキングを解除する必要があります。
最大プライバシー
最大プライバシー(Maximum Privacy)設定では、画面上のすべてのテキストがアスタリスク(*)に置き換えられます。これは、このプライバシー構成を使用して、すべてのPII、入力フィールド、ユーザーが入力したテキストをマスクすることを意味します。
以下は、セレクタールールを作成しない場合の最大プライバシーの例です。
最大プライバシーは、当社が提供する最もプライバシーを重視したオプションであり、アプリに機密性の高いコンテンツが表示される場合にお勧めします。
入力のみ
[入力のみ(Inputs Only)]の構成では、入力内容に含まれるテキストがアスタリスク(*)に置き換えられます。つまり、ほとんどの入力ではテキストがすべてマスクされ、その他のテキストはすべて表示されるように処理されます。セレクタールールを使用して、追加のテキストをマスクまたはマスク解除することもできます。
以下の表は、[入力のみ]でマスクされるすべての要素と、セレクタールールを使用してマスクを解除できるフィールドの詳細を示しています。
要素タイプ | マッピングされたセレクター | マスク解除可否 |
色入力 | input[type='color'] | 可 |
日付入力 | input[type='date'] | 可 |
日時入力 | input[type='datetime-local'] | 可 |
編集可能なコンテンツ領域 | [contenteditable=true] | 可 |
メール入力 | input[type='email'] | いいえ |
月入力 | input[type='month'] | 可 |
数字入力 | input[type='number'] | 可 |
パスワード入力 | input[type='password'] | いいえ |
範囲入力 | input[type='range'] | 可 |
検索入力 | input[type='search'] | 可 |
ドロップダウン選択 | select | 可 |
電話番号入力 | input[type='tel'] | いいえ |
単一行のテキスト入力 | input[type='text'] | 可 |
複数行のテキスト入力 | textarea | 可 |
時間入力 | input[type='time'] | 可 |
以下は、セレクタールールを作成しない場合の入力のみの例です。
入力のみは、入力に含まれるすべての機密コンテンツを保持するアプリ、または入力に含まれないすべての機密情報をマスクするセレクタールールを作成する予定の場合に推奨されます。
最小プライバシー
最小プライバシー(Minimum Privacy)設定では、メールアドレス、電話番号、およびパスワードに入力されたテキストのみがアスタリスク(*)に置き換えられます。これは、入力の内外に含まれる他のすべてのテキストが公開されることを意味します。セレクタールールを使用して、追加のテキストをマスクすることもできます。
以下の表は、[最小プライバシー]でマスクされるすべての入力タイプと、セレクタールールを使用してマスクを解除できるフィールドの詳細を示しています。
入力タイプ | マップされた要素 | マスク解除可否 |
<input type="email" /> | いいえ | |
パスワード | <input type="password" /> | いいえ |
電話番号 | <input type="tel" /> | いいえ |
以下は、セレクタールールを作成しない場合の最小プライバシーの例です。
機密性の高いコンテンツがほとんどないアプリ、またはすべての機密性の高い情報をマスクするセレクタールールを作成する予定がある場合は、最小プライバシーをお勧めします。
セレクタールール
初期プライバシーオプションを選択した後、CSSセレクターを使用してニーズに合うセレクタールールを作成できます。セレクタールールを使用すると、[リプレイ設定]ページの[プライバシー構成]セクションを使用して、ブロックされた領域内の操作を含む要素をマスクまたはマスク解除するか、ブロックしてまったくキャプチャされないようにできます。
この表には、マスクを解除できないパスワード、電話番号、メールアドレスの入力タイプのCSSセレクターと、選択した初期プライバシーオプションに基づくその他のセレクターが事前に設定されています。
- まず、表の上にある[+ セレクタールールを作成(Create Selector Rule)]を選択し、[ルールを作成(Create Rule)]ダイアログを開きます。
- [セレクター]に、関連するCSSセレクターを入力します。ここに入力する値を理解するのに支援が必要な場合は、Mozillaの[CSSセレクター]のページが参考になるかもしれません。
- 適用するルールの種類を選択します。
- 要素のマスク解除。セッションリプレイでは、指定されたCSSセレクターに関連付けられた操作をキャプチャし、テキストが訪問者に表示されるとおりに表示します。
- 要素をマスク。セッションリプレイは、指定されたCSSセレクターに関連付けられた操作をキャプチャし、テキストをアスタリスク(*)に置き換えます。
- 要素をブロック。セッションリプレイは、指定されたCSSセレクターに関連付けられた操作をキャプチャせず、要素を青緑色のプレースホルダーブロックに置き換えます。
-
[ルールを保存(Save Rule)]を選択します。保存した後、そのルールはテーブルに入力され、以降のすべてのリプレイに適用されます。
- 新しいセレクタールールごとに手順1~4を繰り返します。
すべての新しいセレクタールールとルールの更新が完全に処理されるまでに約10分かかります。新しいルールまたはルールの更新が処理されるときに訪問者がアプリケーションを使用している場合、訪問者が現在のページを更新するか、新しいページに移動するまでルールが有効にならない可能性があります。
重要:攻撃者は、アプリのドキュメントオブジェクトモデル(DOM)を変更して、訪問者のIPアドレスを抽出する目的で外部URLを含む画像をロードする可能性があります。これにより、セキュリティの脆弱性が生じます。
これを防ぐには、上記の手順に従ってCSSセレクターに「img」と入力し、ルールタイプに[要素をブロック(Block Element)]を選択することで、セッションリプレイによる画像のキャプチャをブロックできます。
ルールの優先順位付け
Pendoでは、特定の優先順位付け手法を使用して、さまざまなルールとDOMツリーの要素とを一致させるような事例に対応しています。この場合、優先順位は以下のようになります。
- ブロック(Block):最優先されるルールです。特定の要素をブロックするルールがある場合、他の競合するルールよりも優先され、条件に一致するコンテンツは必ずブロックされます。
- マスク(Mask):ブロックの次に優先されるルールです。複数のルールが同じ要素に対して設定され、そのうちの1つがマスクルールである場合、より優先度の高いブロックルールが存在する場合を除き、マスクルールが適用されます。
- マスク解除(Unmask):最も優先度の低いルールです。ある要素に対してマスクルールとマスク解除ルールの両方が設定されている場合、ブロックルールが存在する場合を除き、マスクルールが優先的に適用され、要素はマスクされたままになります。
セグメント化
大勢のオーディエンスに対してセッションリプレイを有効にする前に、パフォーマンスを監視し、プライバシールールが貴社のポリシーと一致していることを確認できるよう、少数のユーザーまたはアカウントに対してのみ有効にすることをお勧めします。
セグメンテーションに関しては、[リプレイ設定]ページの[リプレイキャプチャ設定(Replay capture settings)]セクションに、オーディエンスを指定するための2つのオプションがあります。
- カスタムセグメントを作成。このセグメントをセグメントリストに表示せずに、社内の管理者以外のユーザーが編集できるようにしたい場合は、この方法をお勧めします。
- 既存のセグメントを選択。このセグメントをPendo全体の一般セグメントリストに表示したくない場合は、このオプションはお勧めできません。
デフォルトのセグメントは訪問者全員に設定されています。セグメントを更新する準備ができたら、[全員(Everyone)]を選択し、ドロップダウンメニューからオプションを選択します。Pendo全体のセグメントリストにセッションリプレイのセグメントを表示したくない場合は、[カスタムセグメント(Custom Segment)]にカーソルを合わせ、[編集(Edit)]アイコンを選択してカスタムセグメントを作成します。対象者の更新が完全に処理されるまでに最大10分かかることがあります。
適切なセグメントを適用し、ニーズに合ったプライバシー構成が設定されていることを確認したら、セッションリプレイを有効にする準備は完了です。有効にするための段階的なガイダンスについては、セッションリプレイを有効にするを参照してください。
オーディエンスキャプチャの精度についてご質問がある場合は、リプレイが見つからないおよび想定外のリプレイの記事を参照してください。
既存のプライバシー設定
Pendoには、リプレイのキャプチャおよび可視性に影響する可能性のあるプライバシーおよびその他の設定があります。
コンテンツセキュリティポリシー(CSP)の構成
アプリがCSPを使用している場合、以下の2つのディレクティブを使用して設定を更新することが不可欠です。これにより、すべての訪問者のアクティビティをキャプチャし、CSPとセッションリプレイの競合によるアプリの品質低下を防ぐことができます。
ディレクティブ | ホスト | 説明 |
connect-src |
CNAMEが設定されていない場合は、 CNAMEが設定されている場合は、 |
このエントリにより、イベント通信が可能になります。 |
worker-src |
blob: |
このエントリにより、Pendoエージェントはworkerスレッドを開始して、リプレイのキャプチャデータを圧縮して送信できるようになり、アプリケーションのパフォーマンスへの影響が最小限に抑えられます。 |
除外リストのエントリ
セッションリプレイは、サブスクリプション設定で定義された既存の除外リストエントリに従います。訪問者やアカウントがサブスクリプションレベルの除外リストに含まれている場合、除外されたアカウントや訪問者を含むセグメントを使用しない限り、それらの訪問者やアカウントのリプレイデータは収集されますが、Pendoアプリケーションには表示されません。
処理禁止(Do Not Process)設定
セッションリプレイは、[訪問者の詳細(Visitor Details)]および[アカウントの詳細(Account Details)]ページの[詳細(Details)]セクションで、特定の訪問者とアカウントに対して設定された[処理禁止(GDPR)(Do Not Process (GDPR))]設定に従います。この設定は、Pendoが特定の訪問者やアカウントのイベントを収集したり、ガイドを表示したりすることを防止します。この設定を有効にすると、Pendoはその訪問者やアカウントのリプレイをキャプチャしません。
詳細については、DNPを使用して追跡からオプトアウトするを参照してください。