Очистка данных (Web)
Очистка данных записей
Section titled Очистка данных записейВы можете очищать то, что захватывает OpenReplay, как на глобальном, так и на детальном уровне. Любые скрытые или игнорируемые данные не будут захвачены в источнике. Иными словами, эти данные никогда не покинут браузер пользователя.
Video Tutorial
Посмотрите, как очищать конфиденциальные данные в ваших записях
Если вы не любите читать, вы можете воспользоваться этим видеоуроком, который показывает, как очищать данные в ваших записях.
Глобальный уровень
Section titled Глобальный уровеньДанные можно очищать на уровне трекера, при настройке OpenReplay.
Я использую OpenReplay Script
Section titled Я использую OpenReplay Script
- Нажмите на Tracking Code вашего проекта в разделе «Preferences > Projects».
- Параметры записи данных должны появиться прямо перед фрагментом кода:
- Inputs: Игнорировать, скрывать или записывать все значения, вводимые вашими пользователями.
- Do not record any numeric text: Игнорировать числовые значения, содержащиеся в текстовых элементах.
- Do not record email addresses: По умолчанию все адреса электронной почты, содержащиеся в текстовых элементах, скрываются и не отображаются в записях. Вы можете отключить это, сняв флажок.
- Изменение параметров записи данных влияет на фрагмент кода. Обязательно скопируйте и вставьте обновлённый скрипт в ваше веб-приложение.
Я использую OpenReplay NPM
Section titled Я использую OpenReplay NPMСуществует набор параметров, связанных с конфиденциальностью, которые можно передать в конструктор:
obscureTextEmails?: booleanСкрывает адреса электронной почты в текстовых элементах. Адреса будут преобразованы в случайную цепочку звёздочек. По умолчанию: true.obscureTextNumbers?: booleanСкрывает числа в текстовых элементах. Числа будут преобразованы в случайную цепочку звёздочек. По умолчанию: false.obscureInputEmails?: booleanСкрывает адреса электронной почты в полях ввода. Значения адресов будут преобразованы в случайную цепочку звёздочек. По умолчанию: true.obscureInputNumbers?: booleanСкрывает числа в полях ввода. Числовые значения будут преобразованы в случайную цепочку звёздочек. По умолчанию: false.obscureInputDates?: booleanСкрывает даты в полях ввода. Значения дат будут преобразованы в случайную цепочку звёздочек. По умолчанию: false.defaultInputMode?: 0 | 1 | 2Режим захвата по умолчанию для значений ввода. Соответственно: обычный, скрытый или игнорируемый. По умолчанию: 1 (скрытый).
Очищенные текст, адреса электронной почты и числа скрываются или удаляются до отправки данных на серверы OpenReplay. Поэтому изменения, применённые к указанным выше параметрам, не могут иметь обратной силы и будут применяться только к вновь собранным данным.
Детальный уровень
Section titled Детальный уровеньВы также можете очищать данные на уровне кода для большей детализации. Это полезно для скрытия или игнорирования элементов DOM и полей ввода.
Использование HTML-атрибутов
Section titled Использование HTML-атрибутовdata-openreplay-obscuredдля маскирования текстового содержимого тегов<input>,<img>и других HTML-элементов (например,<div>) за исключением<svg>и<canvas>.
<!--Obscuring input fields-->
<form action="/action_page.php">
Name: <input type="text" name="fname" data-openreplay-obscured><br>
<input type="submit" value="Submit">
</form>
<!--Obscuring a div element-->
<div style="background-color:lightblue" data-openreplay-obscured>
<h3>This is a sensitive information</h3>
<p>This is an important paragraph</p>
<img src="important_image.jpg">
</div>
data-openreplay-hiddenдля скрытия содержимого тегов<input>,<img>,<svg>и других HTML-элементов (например,<div>) за исключением<canvas>. Содержимое элемента (включая его дочерние компоненты) удаляется, но его свойства и аргументы сохраняются, как в этом примере:
<div style="background-color:lightblue" data-openreplay-hidden>
<div>This is a sensitive information</div>
<svg>An important chart</svg>
</div>
В результате трекер запишет следующий DOM:
<div style="background-color:lightblue" data-openreplay-hidden>
</div>
Использование функции domSanitizer
Section titled Использование функции domSanitizer- Функция
domSanitizer: (node: Element) => SanitizeLevelпозволяет избежать необходимости инструментировать каждый HTML-компонент, который требуется очистить.SanitizeLevelможет бытьPlain(0),Obscured(1) илиHidden(2). Эта функция передаётся в конструктор трекера. Ниже приведён пример скрытия всех HTML-элементов с определённым именем CSS-класса:
// Import SanitizeLevel enum
import Tracker, { SanitizeLevel } from "@openreplay/tracker";
const tracker = new Tracker({
projectKey: PROJECT_KEY,
domSanitizer: (node: Element) => {
const elementClassNames = node.classList
if (elementClassNames.contains('to_be_redacted_class')) {
return SanitizeLevel.Hidden
}
if (node.id === 'sensitiveData') {
return SanitizeLevel.Obscured
}
return SanitizeLevel.Plain
}
})
tracker.start()
Примечание: Все очищенные элементы маскируются/скрываются на уровне источника (трекера), поэтому конфиденциальные данные никогда не попадают на экземпляр OpenReplay.
Очистка данных DevTools
Section titled Очистка данных DevToolsВы можете использовать SDK OpenReplay для очистки сетевых данных и состояния приложения.
Захват запросов/ответов может фиксировать крайне конфиденциальную или приватную информацию, которую ваше приложение может отправлять/получать. Обязательно правильно скрывайте ваши сетевые данные.
Fetch/XHR
Section titled Fetch/XHRИспользуйте параметр sanitizer для скрытия конфиденциальных данных в запросах/ответах Fetch/XHR. Подробнее см. в параметрах сети.
Также ознакомьтесь с этим пошаговым руководством о том, как захватывать и очищать сетевые запросы.
GraphQL
Section titled GraphQLДля очистки данных GraphQL необходимо клонировать ключевые переменные и результаты операции перед вызовом трекера. Подробнее см. в разделе как очищать записанные данные в GraphQL.
Управление состоянием
Section titled Управление состояниемУдаляйте конфиденциальные данные из хранилища состояния вашего фронтенда с помощью SDK OpenReplay.
Redux
Section titled ReduxИспользуйте параметры actionFilter, actionTransformer и stateTransformer для скрытия конфиденциальных действий и поддеревьев из вашего хранилища. Подробнее см. в документации плагина redux.
Используйте параметры filter, transformer и mutationTransformer для скрытия конфиденциальных мутаций и поддеревьев из вашего хранилища. Подробнее см. в документации плагина vuex.
Zustand
Section titled ZustandИспользуйте параметры filter, transformer и mutationTransformer для скрытия конфиденциальных мутаций и поддеревьев из вашего хранилища. Подробнее см. в документации плагина zustand.
Pinia
Section titled PiniaИспользуйте параметры filter, transformer и mutationTransformer для скрытия конфиденциальных мутаций и поддеревьев из вашего хранилища. Подробнее см. в документации плагина pinia.
Используйте параметры actionFilter, actionTransformer и stateTransformer для скрытия конфиденциальных действий и поддеревьев из вашего хранилища. Подробнее см. в документации плагина ngrx.
Есть вопросы?
Section titled Есть вопросы?Мы постоянно улучшаем наши функции, связанные с конфиденциальностью, поэтому дайте нам знать, если вам нужно что-то, что мы пока не поддерживаем. Если у вас возникли трудности с очисткой данных, обратитесь к нам в наш Slack или посетите наш Форум и получите помощь от нашего сообщества.