マスキングについて
前提
KARTE Liveでは個人情報保護の観点からページ情報をマスキングすることが可能です。
また、マスキングの箇所を部分的に解除する(unhiddenSelectoreの活用)ことも可能です。
仕様として、お客様任意で設定いただく箇所(hiddenSelectorの活用)とデフォルトでマスキングがかかる箇所があります。
ページ情報のマスキング(お客様任意で設定の箇所)
マスキングの設定方法
読み込んだKARTE Live用スクリプトを実行する際にマスキング用のCSSセレクタを1つ設定します。
具体的にはスクリプトのマスキング対象要素(hiddenSelector: '',
)部分にCSSセレクタを記述します。
複数セレクタを指定したい場合はカンマ区切りのセレクタを使用してください。その際、改行は含めないでください。
マスキング用のCSSセレクタ設定例/サンプル
あるサイトのマイページ上の会員名/会員ID(下記キャプチャ部分)にマスキングをかけたい場合、次の流れで設定できます。
- KARTE Action Viewerをダウンロードして、立ち上げる
- 該当の要素にマウスホバーしてクリック
- クリックしてコピーできた要素をLiveスクリプトのアクション編集画面のマスキング設定要素にペースト
ちなみに、この時の要素はbody > main > div > div > section > div > p
でした。
サイト上で開発者ツールを開いてセレクタを見つけて入力することも可能ですが、KARTE Action Viewerを用いるとスムーズに実施できるため、おすすめです。
ユーザーの属性によってDOMの構造が変わる場合(例えば会員ユーザー/非会員ユーザーでサイトの見え方が異なるなど)、拡張機能のCSSセレクタでは正しく設定できない可能性がございます。
その場合は、ID要素で指定するなどサイト構造の変更に依存しない形でエリアを指定いただくようお願いいたします。
マスキングの内部動作
KARTE Live用スクリプト内部で、セレクタにマッチする要素の中身(子要素含む)と、その要素のvalue
, placeholder
, checked
, src
, data
, alt
属性の値をサーバに送信しない、というロジックとなっています。
また、ページ描画後ユーザー操作に応じてインタラクティブに生成されたエレメントも動的検査し設定が適用されます。
推奨する方法
マスキング対象を明示的にするため、マスキング用のclass
を1つ決め、隠したい要素に対してそのclass
を指定し、KARTE Live用スクリプトにそのclass
だけ設定することを推奨しています。
(:nth-child(n)
(n番目の要素)など、サイトの構造を変更したときにずれてしまう可能性があるようなセレクタは非推奨としています。)
ページ情報のマスキング(デフォルトで設定の箇所)
該当箇所
ユーザーのセキュリティ保護の観点からフォームへの入力情報(input[type="xx"])の大部分がデフォルトのマスキングの対象となります。
具体的には下記のセレクタに該当するものが対象です。
'.krt-hidden',
"input:not([type='submit']):not([type='button'])",
'textarea',
'select',
`.krt-hidden`に関しては**上記のインプット系のセレクタに該当するもの以外でデフォルトでマスキングをかけておきたいケース**でWebサイト側の該当要素に`.krt-hidden`を追加して活用するものです。別途Webサイト側に修正が必要となるため、その点ご注意ください。
"input:not([type='submit']):not([type='button'])" は input要素でもsubmitやbutton typeのものは除いていることを示しています。
ユーザーがフォームに入力する情報(パスワード/クレジットカード情報等)であっても、input要素にマッチしない場合はマスキング対象とはなりませんのでご注意ください。
従って、事前のテスト配信による挙動確認を行ってください。またマスキングされない場合の対処としては、対象のセレクタ自体をマスキングの対象として任意で指定いただく、対象の情報が含まれるページを配信対象外とする、などの方法があります。
ページ情報のマスキング解除
マスキングがかかるフォーム入力情報の箇所のユーザー行動をKARTE Liveで見たい場合、マスキングを解除することが可能です。
具体的にはKARTE Live用スクリプトのマスキング除外要素(unhiddenSelector: '',
) 部分にマスキングを解除したいCSSセレクタを記述します。
複数セレクタを指定したい場合は任意の箇所にマスキングを設定する時と同様に、カンマ区切りのセレクタを使用することになります。
マスキング対象・除外設定の種類とパターン
KARTE LiveではWebサイト上の特定要素について、マスキングの設定・解除を行うことができます。
具体的なマスキングの仕様関連は大きく3つの項目で説明ができます。
名前 | 概要 | 変更可否 | デフォルト値 | セレクタの対象 |
---|---|---|---|---|
defaultHiddenSelector | 組み込みの非表示(マスキング)要素 | 不可 | *参照 | 該当要素のみ |
hiddenSelector | 非表示(マスキング)要素 | 可 | "" | 該当要素のみ |
unhiddenSelector | 表示(マスキング除外)要素 | 可 | "" | 該当要素と親要素 |
*デフォルトのマスキング対象要素についてはこちらの項目をご参照ください。
https://support.karte.io/post/5MpBQD0gqWcNw3POv9AO15#2-7
マスキング除外設定の有無と録画の条件
マスキング除外(unhiddenSelector)設定の有無によって録画の可否は分岐されます。
マスキング除外(unhiddenSelector)が設定されていた場合、その子要素をマスキング対象(hiddenSelector)に指定しても録画される(マスキング除外が優勢となる)ことに注意してください。
マスキング設定不備によるエラー
マスキング設定が誤ったCSSセレクタ形式であった場合 Error: Failed to execute 'matches' on 'Element': ...
のエラーがLiveスクリプトから発生します。
サイト動作やレコード処理そのものに悪影響はありませんが、マスキング設定が正しいCSSセレクタ形式になっているかご確認ください。