モバイル向けセッションリプレイでは、訪問者がモバイルアプリをどのように操作しているかを確認できます。Privacy Configuration APIを使用すると、開発チームは特定の要素にプライバシールールを適用できるため、セッションリプレイで収集する内容と非表示にする内容を正確に制御できます。
Privacy Configuration APIは、PendoモバイルSDKバージョン3.14.0以降で利用可能です。
要素ごとのプライバシーの仕組み
モバイル用セッションリプレイを設定する際は、プライバシーオプションを選択します。[最大プライバシー]はすべてのテキストを非表示にし、[入力のみ]は入力テキストフィールドを非表示にします。これらはアプリ内のすべてに一度に適用されます。
Privacy Configuration APIを使用すると、チームによる管理の自由度が高まります。アプリ全体に1つのルールを適用するだけでなく、プリセットに関係なく、個々の要素をマスク、マスク解除、またはブロック対象として指定できます。これは、同一画面上に機密性の高い情報とそうでない情報が混在して表示される場合に便利です。
プライバシールールは取得時にデバイス上で適用されるため、機密性の高いコンテンツがPendoに送信されることはありません。
プライバシーアクション
要素に適用できるプライバシーアクションは3つあります。
- マスク。パスワードフィールドと同様に、テキストをアスタリスクに置き換えます。操作と画面レイアウトは引き続き収集され、画像は影響を受けません。
- マスク解除。プリセットで通常は非表示になっている場合でも、訪問者に表示されるとおりにテキストを表示します。[最大プライバシー]がオンになっている場合に、安全なコンテンツを表示したままにするにはこれを使用します。
- ブロック。要素とその内部のすべてをグレーのボックスに置き換えます。その要素内のテキスト、画像、インタラクションは収集されません。
注:マスキングではテキストのみが非表示になります。画像を非表示にするには、[ブロック]を使用するか、アプリの[画像をブロック]設定をオンにします。
プリセットのプライバシーオプションとともにカスタムルールが機能する仕組み
カスタムルールは、あらかじめ設定されたプライバシー設定の上に重ねて適用されるものであり、それらを置き換えるものではありません。実際にどのように機能するかの例をいくつかご紹介します。
プリセットのプライバシーオプション |
カスタムルールの適用先 |
何が起こるか |
|---|---|---|
最大プライバシー |
ナビゲーションバー(マスク解除) |
ナビゲーションバーのテキストはキャプチャに表示されます。その他はすべて非表示のままです。 |
最大プライバシー |
支払いフォーム(ブロック) |
フォーム全体がグレーのボックスに置き換えられます。コンテンツまたはタップはキャプチャされません。 |
入力のみ |
「アカウント残高」ラベル(マスク) |
ラベルは入力フィールドではないにもかかわらず非表示になります。 |
すべてのプライバシーオプション |
メールアドレス、電話番号、またはパスワードフィールド(マスク解除の試行) |
許可されていません。これらのフィールドは常に非表示になっており、マスクを解除することはできません。 |
ルールの優先度
複数のルールが同じ要素に適用される場合、Pendoは優先度の高い順に以下の順序でどのルールを適用するかを決定します。
- 常時保護。メールアドレス、電話番号、パスワードのフィールドは常に非表示になっています。これを上書きできるルールはありません。
- 要素固有のルール。画面上の特定の1つの要素に直接適用されるルール。
- プライバシープリセット。最大プライバシーまたは入力のみ。
ルールが子要素に与える影響
要素はネストされていることがよくあります。例えば、カードにはタイトル、残高、ボタンなどが含まれる場合があります。親ルールは、その内部の要素に影響を与えます。
- 親がブロックされている場合、その内部のすべてが例外なくブロックされます。
- 親要素がマスキングされている場合、内部の要素はデフォルトでマスキングされますが、個々の要素を明示的にマスキング解除できます。
- 親要素のマスクが解除されている場合、内部の要素はデフォルトでマスクが解除されますが、個々の要素を明示的にマスクすることもできます。
プライバシールールは今後にのみ適用されます
アプリの新しいバージョンでルールを追加すると、そのバージョンがリリースされた後に収集されたセッションに適用されます。プライバシーはセッションの再生時ではなくセッションの収集時に適用されるため、以前の収集データは変更されません。
重要:ロールアウトを計画する際は、この行動についてセキュリティおよびコンプライアンスチームと共有してください。以前に収集されたデータには、収集時点のプライバシー状態が保持されるためです。
始める前に
開発チームがプライバシールールを適用する前に、以下が整っていることを確認してください。
- PendoモバイルSDKバージョン3.14.0以降
- サブスクリプションでモバイルセッションリプレイがオンになっていること
サポート対象プラットフォーム:プライバシールールは、ネイティブiOS、ネイティブAndroid、React Native、Flutter、MAUI、Compose Multiplatformに対応しています。
特定の要素にルールを適用する
開発チームは、アプリのコード内の個々の要素にタグ付けすることで、各要素の収集方法を制御できます。その方法は、アプリの開発に使用されているフレームワークによって異なります。
フレームワーク |
ルールを適用する方法 |
|---|---|
iOS(UIKit) |
特定のビューで呼び出されるメソッド |
iOS(SwiftUI) |
インラインで追加されたビュー修飾子 |
Android(XMLレイアウト) |
要素のタグ属性 |
Android(Jetpack Compose) |
コンポーザブルに追加された修飾子 |
React Native |
要素の周囲に配置されるコンポーネントラッパー |
Flutter |
ウィジェットラッパーまたは拡張機能 |
MAUI |
添付されたプロパティまたは拡張機能 |
Compose Multiplatform |
コンポーザブルに追加された修飾子 |
例えば、Flutterでは開発者は次のように記述します。
// 機密性の高い値を非表示にする
Text('$42,850.00').applyPendoSRPrivacy(PNDSRPrivacyAction.mask);
// Maximum Privacyが有効な場合でも安全なテキストを表示する
Text('Settings').applyPendoSRPrivacy(PNDSRPrivacyAction.unmask);
// セクション全体をブロック — グレーのボックスとして表示され、何も収集されません
PendoSRPrivacy(
PNDSRPrivacyAction.block,
child: PaymentDetailsView(),
);プライバシー設定を確認する
Pendoモバイルデバッガーを使用して、プライバシールールが期待どおりに機能することを確認できます。リプレイをキャプチャし、マスクまたはブロックした要素がキャプチャで正しく表示されていることを確認します。
テクニカルドキュメント
完全なAPIリファレンスとプラットフォーム固有の実装ガイドをお探しの開発者の方は、PendoモバイルSDKのGitHubドキュメントを参照してください。