iOS SDK - 機密データのサニタイズ

iOS トラッカーにおける録画とネットワークデータのサニタイズの詳細

iOS SDK ⁠-⁠ 機密データのサニタイズ

サニタイズされたビューは、生成されるリプレイ上でぼかされます。任意の UI コンポーネントを追加でき、画面に表示されなくなった時点で(メモリを節約するため)自動的に削除されます。

目的のコンポーネントに .sensitive() モディファイアを追加するだけです。

import ORTracker

Text("Very important sensitive text")
.sensitive()
import ORTracker

ORTracker.shared.addIgnoredView(view)

ネットワークリクエスト

Section titled ネットワークリクエスト

リクエストとレスポンスのデータを自動的に削除するために、ボディ用の ignoredKeys とヘッダー用の ignoredHeaders の 2 つのキーがエクスポートされています。リクエストとレスポンスの両方がサニタイズされますが、ボディは有効な JSON の場合にのみ影響を受けます。

サニタイズしたい文字列のリストを割り当てるだけです。

let networkListener = NetworkListener()
networkListener.ignoredHeaders = ["mySecretToken"]
networkListener.ignoredKeys = ["password"]

リスナーに渡す前に、レスポンスデータを変更することもできます。

// ... request

var sanitizedData
if let data = data {
	do {
		let json = try JSONSerialization.jsonObject(with: data, options: [])
		sanitizedData = customSanitizeFunction(data)
		print(json)
	} catch {
		print("Error deserializing JSON: \(error)")
	}
}

networkListener.finish(response: response, data: sanitizedData)

ご質問はありますか?

Section titled ご質問はありますか?

この手順についてご不明な点がございましたら、お気軽に Slack までお問い合わせください。