🎵

[Datadog]SessionReplayのプライバシーオプションを設定して入力項目等のマスキングを柔軟に設計する

2024/08/29に公開

はじめに

株式会社Goalsでは、Datadogを導入しています。
特に、RealUserMoitoring(RUM)のSessionReplay機能を重宝しています。

先日、定期的にDatadogが開催しているFoundationEnablementSessionsに参加しました。
RUMについてのデモ実演を踏まえた機能紹介がされている最中、サラッと案内されていたことが弊社での長年抱えていた悩みの解消に至ったので記事にしました。

別途、SessionReplayについての投稿した、過去の記事も合わせてご覧いただけると幸いです。

https://zenn.dev/goals_techblog/articles/8b4bc927bbfc57

困っていたこと

SessionReplay機能は、特にユーザーからの問い合わせ対応で活用していました。
実際のユーザーのアクションを確認できるので、問い合わせ内容の裏付けを取ったり、ユーザーの詳細なアクションの確認等で重宝しています。

ただし、デフォルトの設定だとサービス内のテキストエリア等で、ユーザーが入力した値がマスキングされていました。
メールアドレスやパスワード情報等のセキュアな情報はマスキングされていて良いのですが、単純な入力項目等もマスキングされてしまっていました。

設定詳細

確認・設定したこと

SessionReplay機能には、プライバシーオプションという設定があることを確認しました。
以下3種類の設定値があり、デフォルト(※1)だと「ユーザー入力マスクモード」となっていました。

  • マスクモード
  • ユーザー入力マスクモード
  • 許可モード

※1 デフォルトと呼称しているのは、 @datadog/browser-rumを宣言しているInitializeファイルにて、defaultPrivacyLevelの宣言をしていない状態を指しています。

当該オプション詳細については、以下のドキュメントをご覧ください。

https://docs.datadoghq.com/ja/real_user_monitoring/session_replay/privacy_options

備考

当該オプションについてスゴく良いな!...と思ったことが、セキュアな情報はオプション値に関わらずマスキングされるという点です。

ユーザーが入力したパスワード情報等のセキュアな情報は、確認できてしまうことがセキュリティリスクになります。
いかなる設定でもマスキングしてくれるのは、Datadogの設定設計をする私達のニーズを分かっているな!...としみじみ思いました。

エンドユーザーのプライバシーを保護するため、プライバシー設定に関わらず、以下のHTML要素は常にマスクされます。

  • passwordemailtel型の入力要素
  • クレジットカード番号、有効期限、セキュリティコードなどのautocomplete属性を持つ要素

まとめ

プライバシーオプションを設定することで、SessionReplay機能上で見える値を意図した通りにマスキングすることができるようになりました!

蛇足

FoundationEnablementSessionsについては、以下から詳細の確認・参加申し込みが可能です。
→ リンク先のサイト自体は英語ですが、もちろん日本語でのSessionも定期的に開催されております。

https://www.datadoghq.com/technical-enablement/

私も実際にSessionsに参加して分かったのですが、「知ってさえいれば」...といった新たな気付きを実際に得ることができました。

弊社の状況としても「昔に設計・設定した状態から運用自体に問題はないから放置してしまっている(アップデートされていない)」というDatadog機能も多々あるので、個人的にSessionsは時間を作って参加してもようと思っています!

Goals Tech Blog

Discussion