- gunicorn вместо dev-сервера Werkzeug; non-root user в Dockerfile - volume sqlite_data для БД (заявки не теряются при rebuild) - consultations.db и data/ в .dockerignore (ПДн не попадают в образ) - Secure-куки по умолчанию (COOKIE_SECURE=1), лимит сессии 12ч - защитные заголовки: CSP, X-Frame-Options, nosniff, Referrer-Policy, Permissions-Policy - MAX_CONTENT_LENGTH 64КБ - анти-брутфорс админки: 5 попыток -> блокировка 15 мин + лимит 5/мин - обязательный чекбокс согласия на обработку ПДн + страница /privacy - .env.example: понятные плейсхолдеры, COOKIE_SECURE
52 lines
3.5 KiB
HTML
52 lines
3.5 KiB
HTML
<!doctype html>
|
||
<html lang="ru">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<meta name="description" content="Политика конфиденциальности — Анастасия Панкратенкова, математика.">
|
||
<title>Политика конфиденциальности — Анастасия Панкратенкова</title>
|
||
<link rel="stylesheet" href="{{ url_for('static', filename='css/styles.css') }}">
|
||
</head>
|
||
<body>
|
||
<div class="page-shell">
|
||
<header class="site-header">
|
||
<a class="brand" href="{{ url_for('index') }}" aria-label="На главную">
|
||
<span class="brand-mark">АП</span>
|
||
<span class="brand-name">Анастасия<br>Панкратенкова</span>
|
||
</a>
|
||
<nav class="main-nav" aria-label="Основная навигация">
|
||
<a href="{{ url_for('index') }}#about">О преподавателе</a>
|
||
<a href="{{ url_for('index') }}#subjects">Направления</a>
|
||
<a href="{{ url_for('index') }}#contact">Записаться</a>
|
||
</nav>
|
||
</header>
|
||
|
||
<main class="privacy-content" style="max-width: 820px; margin: 0 auto; padding: 64px 24px 96px;">
|
||
<p class="eyebrow"><span class="eyebrow-dot"></span> Юридическая информация</p>
|
||
<h1>Политика<br><em>конфиденциальности</em></h1>
|
||
<p class="privacy-lead">Этот сайт использует персональные данные только для обработки заявок на консультации.</p>
|
||
|
||
<h2>Какие данные собираются</h2>
|
||
<p>При заполнении формы могут быть указаны имя, контакт (телефон или Telegram), предмет, экзамен, формат занятий, желаемое время и комментарий к заявке.</p>
|
||
|
||
<h2>Зачем они нужны</h2>
|
||
<p>Данные используются исключительно для связи с заявителем, ответа на вопросы и подготовки к занятиям.</p>
|
||
|
||
<h2>Хранение и защита</h2>
|
||
<p>Заявки хранятся в защищённой базе данных. Доступ к ним имеет только преподаватель. Данные не передаются третьим лицам и не используются для рекламных рассылок.</p>
|
||
|
||
<h2>Отзыв согласия</h2>
|
||
<p>Чтобы уточнить, изменить или удалить сведения из заявки, свяжитесь с преподавателем тем же способом, который был указан при записи.</p>
|
||
|
||
<a class="button button-primary" href="{{ url_for('index') }}#contact" style="margin-top: 32px;">Вернуться к записи <span>↗</span></a>
|
||
</main>
|
||
|
||
<footer class="site-footer section-wrap">
|
||
<a class="brand" href="{{ url_for('index') }}"><span class="brand-mark">АП</span><span class="brand-name">Анастасия<br>Панкратенкова</span></a>
|
||
<p>Математика<br>с пониманием.</p>
|
||
<span>© {{ current_year }}</span>
|
||
</footer>
|
||
</div>
|
||
</body>
|
||
</html>
|