iOS SDK - Sanitizar dados sensíveis

Detalhes sobre a sanitização de gravações e dados de rede no tracker do iOS

iOS SDK ⁠-⁠ Sanitizar dados sensíveis

As views sanitizadas serão desfocadas no replay resultante. Você pode adicionar qualquer componente de UI, e ele será removido automaticamente (para preservar memória) assim que não estiver mais na tela.

Basta adicionar o modificador .sensitive() ao componente desejado

import ORTracker

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

ORTracker.shared.addIgnoredView(view)

Duas chaves são exportadas para remover automaticamente dados da requisição/resposta: ignoredKeys para o corpo e ignoredHeaders para os cabeçalhos. Tanto a requisição quanto a resposta serão sanitizadas, mas o corpo só será afetado se for um JSON válido.

Basta atribuir uma lista de strings que você deseja sanitizar:

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

Também é possível alterar os dados da resposta antes de passá-los ao listener:

// ... 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)

Se você tiver alguma dúvida sobre este processo, fale conosco no nosso Slack .