Очистка данных (Web)
Очистка данных записей
Section titled Очистка данных записейВы можете очищать то, что захватывает OpenReplay, как на глобальном, так и на детальном уровне. Любые скрытые или игнорируемые данные не будут захвачены в источнике. Иными словами, эти данные никогда не покинут браузер пользователя.
Video Tutorial
Посмотрите, как очищать конфиденциальные данные в ваших записях
Если вы не любите читать, вы можете воспользоваться этим видеоуроком, который показывает, как очищать данные в ваших записях.
Глобальный уровень
Section titled Глобальный уровеньДанные можно очищать на уровне трекера при настройке OpenReplay.
Я использую скрипт OpenReplay
Section titled Я использую скрипт OpenReplay
- Нажмите на Tracking Code вашего проекта в разделе ‘Preferences > Projects’.
- Параметры записи данных должны появиться прямо перед фрагментом кода:
- Inputs: Чтобы игнорировать, скрывать или записывать все вводимые значения ваших пользователей.
- Do not record any numeric text: Чтобы игнорировать числовые значения, содержащиеся в текстовых элементах.
- Do not record email addresses: По умолчанию все адреса электронной почты, содержащиеся в текстовых элементах, скрываются и не будут отображаться в записях. Вы можете отключить это, сняв флажок.
- Изменение параметров записи данных влияет на фрагмент кода. Обязательно скопируйте и вставьте обновленный скрипт в ваше веб-приложение.
Я использую NPM OpenReplay
Section titled Я использую NPM OpenReplayСуществует набор связанных с конфиденциальностью параметров, которые вы можете передать конструктору:
obscureTextEmails?: booleanСкрывает адреса электронной почты в текстовых элементах. Адреса электронной почты будут преобразованы в случайную цепочку звездочек. По умолчанию: true.obscureTextNumbers?: booleanСкрывает числа в текстовых элементах. Числа будут преобразованы в случайную цепочку звездочек. По умолчанию: false.obscureInputEmails?: booleanСкрывает адреса электронной почты в полях ввода. Значения электронной почты будут преобразованы в случайную цепочку звездочек. По умолчанию: true.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 или загляните на наш Форум и получите помощь от нашего сообщества.