The service was made as part of a hackathon from SovKomBank/сервис был сделан в рамках хакатона от СовКомБанка
Лёгкий в использовании сервис по деперсонализации данных, основанный на перемешивании данных и замене конфиденциальных данных на ближайшие или похожие, подходящие по форме.
docker build --file=backend/backend.dockerfile -t playground-web-backend .
docker build --file=frontend/frontend.dockerfile -t playground-web-frontend .
Для запуска бэкенда вам нужно скачать postgresql или использовать h2 db. Отличаются эти методы данными в файле
application.properties
spring.datasource.url=jdbc:h2:file:/data/sampledata
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true
spring.jpa.defer-datasource-initialization=true
spring.jpa.hibernate.ddl-auto=create-drop
Для использования h2 добавьте в build.gradle в блок dependencies зависимость
runtimeOnly 'com.h2database:h2'
spring.datasource.url=jdbc:postgresql://localhost:5432/person
spring.datasource.username=postgres
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.format_sql=true
Для использования postgresql добавьте в build.gradle в блок dependencies зависимость
runtimeOnly 'org.postgresql:postgresql'.
Для запуска фронтенда перейдите на сайт скачивания Node.js.
После скачивания зайдите в IntelliJ IDEA в папку frontend и в терминале напишите команды
npm install. Для запуска фронтенда пропишите npm start.
Сайт представляет сервис для персонализации данных с возможностью редактирования данных из таблицы. При входе на сайт вы увидите экран авторизации. В сервисе есть система ролей, всего их три:
user - роль с наименьшими привилегиями, есть возможность работы только с деперсонализированными данными
и нет доступа к первоначальным
admin - может взаимодействовать с обеими таблицами, может создавать новых
пользователей сервиса и менять роли уже существующих
root - роли с максимальными возможностями, имеет доступ к обеим таблицам - изначальной и деперсонализированной,
может создавать новых пользователей сервиса и менять роли уже существующих, а также добавлять новые элементы в таблицу.
Для тестирования всех трех ролей есть универсальные комбинации логин-пароль:
login - root; password - root - для роли суперадмина
login - admin; password - admin - для роли админа
login - user; password - user - для роли пользователя
На сайте первым делом можно нажать кнопку Импорт, чтобы показать тестовую таблицу или же загрузить собственный файл,
который загрузится в таблицу и будет отображаться на экране.
Кнопка Импорт отвечает за загрузку таблицы с сервера.
Кнопка Экспорт отвечает за загрузку обновленных данных на сервер.
Есть возможность сортировки таблицы по выбранному параметру, поиск по написанному слову и выгрузка таблицы из сайта, формат файла можно выбрать самостоятельно. Кнопка деперсонализации загружает новую обезличенную таблицу, которая также может быть редактируема.
Деперсонализация персональных данных пользователей производится путём перемешивания элементов. Помимо перемешивания используется замена конфиденциальных данных на ближайшие, либо на случайные, подходящие по формату. Для дат выбирается число r из отрезка [-random; random], прибавляемое к дате. Для серии и номера паспорта инкрементально старые значения заменяются на новые, начиная с 0000 000000, заканчивая 9999 999999, а затем начинается заново.