For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
セッションリプレイのプライバシー設定を管理
セッションリプレイのプライバシー設定は、リプレイに表示されるユーザーデータと、Amplitudeがマスクするデータを制御します。 組織の法的要件やセキュリティ要件を満たすように、マスキング、ブロック、PII 処理を設定できます。 これらの設定を設定すると、セッションリプレイはすべてのセッションで一貫してこれらの設定を適用します。
これらのプライバシー設定が有効な場合、Amplitudeはユーザーが作成および表示するすべてのセッションリプレイで指定したユーザーデータをマスクします。データをマスキングすると、Amplitudeがプロダクトからデータを受信できなくなります。マスキングを行っても、お客様自身のプロダクトデータリポジトリからデータは削除されません。
マスキングレベル
セッションリプレイには、画面録画内の機密データをマスキングするための 3 つのプリセットがあります。必要に応じてカスタムオーバーライドを実装することもできます。
Medium: これはセッションリプレイのプライバシー設定のデフォルトのオプションです。選択した場合、[Medium] はすべてのフォームフィールドとテキスト入力内容をマスクします。 Amplitudeは他のすべてのテキストをそのままキャプチャします。
Light: このオプションは、機密性の高い顧客データをほとんど保持していない企業や、マスクするフィールドを迅速かつ選択的に選択したい企業向けです。 このオプションを選択すると、パスワード、クレジットカード番号、電話番号、電子メールアドレスなどの機密入力の一部のみがマスクされます。 このオプションを選択する可能性がある企業の例としては、ビジネス生産性向上アプリケーションの開発者、レストランや予約のためのソフトウェア会社、およびeコマースサイトなどがあります。
保守的: このオプションは、大量の機密顧客データを保持している企業向けです。 このオプションを選択すると、HTMLテキスト、ユーザー入力、リンクなど、すべてのテキストとすべてのフォームフィールドがマスクされます。保守的マスキングは、写真、動画、サムネイル、その他の静的資産内のテキストには適用されません。 CSSセレクターを使用して、機密情報を含む画像、動画、またはサムネイルを除外できます。このオプションを選択する可能性がある企業の例としては、金融サービス企業、CRMシステム、オンライン賭博企業、地理空間テクノロジー企業、ヘルスケアおよび医療テクノロジー業界の企業などがあります。 これらの分野では、機密性の高いユーザーデータを誤ってリリースすると深刻な影響を及ぼす可能性があります。
これらのプライバシーレベルに加えた変更は、SDK に設定されているプライバシー定義よりも優先されます。
HTML 属性マスキングの制限
セッションリプレイマスキングはテキストコンテンツとフォーム入力に適用されますが、HTML 属性値をマスクすることはありません。 alt、title、placeholder、aria-label、valueなどの属性や、カスタムdata-*属性は、マスキングを有効にしていてもリプレイに表示されたままです。アプリケーションが HTML 属性に機密情報を保存している場合は、そのデータがセッションリプレイに到達する前に削除または難読化を行ってください。
React Nativeのマスキングオプション
React Nativeセッションリプレイは、スタンドアロンSDKのprivacyConfig.maskLevelを通じて 3 つのマスキングレベルをサポートしています。light(機密性の高いネイティブテキスト入力)、medium(すべてのTextInputフィールド。これがデフォルトです)、および conservative(TextInputプラス標準Textコンテンツ)。セッションリプレイ設定ページのリモート マスキング設定は、SDK よりも優先されます。 特定の領域をマスク、マスク解除、またはブロックする必要がある場合は、AmpMaskViewビューをラップしてください。
セッションリプレイは、React Native が標準のネイティブテキストビュー(react-native-svg、 Shopify Skia やキャンバスベースのレンダラーなど)の外でレンダリングするテキストを自動的にマスクしません。AmpMaskViewにこれらの地域をラップします。
Android では、light はクレジットカードフィールドを確実に識別しません。 クロスプラットフォームに対応するには、medium または conservativeを使用するか、フィールドを AmpMaskView でラップします。
Android と iOS では解決の仕組みがAmpMaskView異なります。Android では、マスクされた領域内にネストされたコンテンツは、そのコンテンツをラップしている領域で再び表示されますamp-unmask。iOS では、そのコンテンツはマスクされたままです。 完全な比較については、「マスキングにおけるプラットフォームの違い」を参照してください。
セットアップの詳細については、スタンドアロン SDK の「画面上のデータをマスク」またはプラグイン ドキュメントの「画面上のデータをマスク」を参照してください。
プライバシーレベルを設定する
セッションリプレイのプライバシーレベルを設定するには、[設定] > [組織設定] > [セッションリプレイ設定] に移動し、適切なプロジェクトを選択します。各プロジェクトには独自の設定があります。 メインのセッションリプレイ設定ページで、各プロジェクトのマスキングレベルとオーバーライドの概要をいつでも確認できます。
事前設定されたポリシーレベルを上書きする
個々の要素のデフォルトのマスキング設定を上書きするには、それらの要素の一致するCSSセレクターを編集します。
マスキング設定を上書きするには、アプリケーションを右クリックし、「インスペクトモード」を選択します。 [マスキングオーバーライド] の下で、変更するCSSセレクターを入力し、[+ セレクターを追加] を選択します。このプロセスを使用して、個々の要素をマスク、マスク解除、または除外できます。
要素のマスクを解除すると、その子要素もマスク解除されます。 必要に応じて、上記の手順を使用してこれらの子要素をマスクし直すことができます。 ただし、CSSセレクターを使用して要素をマスクする場合、Amplitudeはその子要素もマスクします。この場合、これらの子要素のマスクを解除することはできません。
CSSセレクターを使用して要素を除外する場合、Amplitudeは要素を同じ寸法の空のプレースホルダ要素に置き換えます。また、Amplitudeは子要素も除外します。

マスキングによるサイトパフォーマンスの問題を回避する
作成したマスキングルールの数が原因でサイトパフォーマンスが低下した場合、Amplitudeはコンテンツをマスキングするのではなく、.amp-blockクラスを使用してコンテンツを除外またはブロックすることをお勧めします。
コンテンツをブロックまたは除外すると、要素は同じ寸法のプレースホルダに置き換えられます。
セッションリプレイがSDKとUI間の競合をどのように解決するか
SDKとセッションリプレイ設定ページが特定の要素の処理方法(Amplitudeがその要素をマスクすべきか、マスク解除すべきか、または除外すべきか)で競合する場合、セッションリプレイ設定ページが優先されます。
たとえば、セッションリプレイ設定ページを使用して.selector1マスクとマスク解除.selector2を行ったとします。その後、エンジニアは SDK を変更してマスクし.selector3、同時に誤ってマスクを解除します.selector1。
この場合、セッションリプレイは SDK と UI の設定を組み合わせますが、UI で指定された設定が優先されます。.selector1
| .selector1 | .selector2 | .selector3 | |
|---|---|---|---|
| セッションリプレイ設定 | マスク | アンマスク | |
| SDK設定 | アンマスク | マスク | |
| 最終結果 | マスク | アンマスク | マスク |
リモート設定
。リモート設定を有効にしてもロードに失敗した場合、セッションリプレイはセッションをキャプチャしません。この動作により、Amplitudeは管理インターフェイスで定義したプライバシー設定を尊重し、誤って機密データをキャプチャすることがないようになります。
CSSセレクター
Session Replayの設定は、さまざまなタイプのCSSセレクタをサポートしています。要素タグ (< h1または >textarea)、クラス名 (.hidden.)、またはデータ属性を指定します。
データ属性は、クラス名がハッシュ処理のために頻繁に変更される場合に役立ちます。 データ属性を使用するには、任意の HTML 要素に data-amp-unmaskまたはdata-amp-mask などのカスタム属性を追加します。 たとえば、<textarea data-amp-unmask></textarea>です。 次に、セレクタ を指定するときに属性を角括弧で囲みます[data-amp-unmask]。
これは役に立ちましたか?