Политика конфиденциальности
«Правовая информация», «Политика конфиденциальности» и «Условия использования» переведены с немецкого. Во всех случаях преимущественную силу имеет немецкая редакция.
Коротко заранее: nard.gg не собирает ничего, что не нужно для игры. Никаких сторонних инструментов аналитики, никаких рекламных сетей, никакой передачи третьим лицам — кроме сообщения обратной связи, которое ты отправляешь сам (раздел «Обратная связь»), — а файлы cookie — только для игры, для выбранных тобой языка и темы и для твоего последнего выбора в стартовой форме. Сервер лишь считает, как часто открываются его страницы и где возникают ошибки, — в виде простых сумм, без IP-адреса, без cookie, без какого-либо идентификатора; разделы «Подсчёт просмотров» и «Подсчёт ошибок» ниже точно объясняют, что это значит. Играть можно без аккаунта; кто только читает, не оставляет записи, которая указывала бы на него.
Ответственное лицо
Viktor Michel
Lindenstr. 54, 50674 Köln
Эл. почта: kontakt (at) nard.gg
При написании письма замени «(at)» на символ @; такая запись защищает адрес от автоматических сборщиков адресов. Уполномоченный по защите данных не назначен; условия ст. 37 GDPR и § 38 BDSG для этого проекта не выполняются.
Что хранится
Аккаунт
- Имя пользователя. Выбирается свободно. Оно стоит под каждой партией, которую ты играешь, и поэтому видно всем. Настоящее имя не требуется.
- Хеш пароля. Сам пароль никогда не хранится и никогда не записывается в журналы. Хранится хеш Argon2id (19 MiB памяти, два прохода, один поток), дополнительно зашифрованный серверным секретом (pepper). Секрет хранится не в базе данных; поэтому одной украденной базы данных недостаточно, чтобы атаковать пароли.
- Адрес электронной почты — добровольно. Без него аккаунт полностью работает. Он используется исключительно для двух целей: сброса забытого пароля и уведомления «твой ход». Он никому не показывается, не передаётся другим игрокам и не используется для рекламы, рассылок или возвращения неактивных пользователей. На внесённый адрес сначала приходит ровно одно сообщение: просьба подтвердить его. Только после этого он вообще используется — пока он не подтверждён, на него ничего не отправляется, и для сброса пароля он тоже не годится. Для этого дополнительно хранится, подтверждён ли он, а также временно — хеш ссылки подтверждения (24 часа).
- Момент создания аккаунта.
- Добровольные сведения профиля. В настройках ты можешь — но не обязан — указать краткое представление, клуб, самостоятельно указанный турнирный рейтинг и до трёх ссылок или имён на других платформах. Всё это по умолчанию пусто, сохраняется, только если ты сам это вносишь, открыто видно на твоей странице игрока, в любой момент удаляется по отдельности (очистить поле и сохранить) и полностью исчезает при удалении аккаунта. Ничего из этого не анализируется и не передаётся.
Сессии
После входа создаётся сессия. Хранятся хеш SHA-256 токена сессии — не сам токен, — аккаунт, к которому относится сессия, а также моменты создания, последнего использования и истечения. Тот, кто прочитал бы базу данных, не смог бы собрать из неё работающую сессию. Сессия истекает через 30 дней после последнего использования; истёкшие сессии удаляются.
Игра без аккаунта
Кто открывает доску или принимает приглашение, не входя в аккаунт, получает гостевое место: строку со случайным непрозрачным идентификатором игрока и моментом её создания — ни имени, ни адреса, ни пароля. К этому добавляется сессия, как описано выше, потому что без неё сервер при следующем ходе уже не знал бы, кто сидит за этой доской. Гостевое место возникает только в результате действия, никогда — от простого чтения страницы.
Гостевые места, за которыми ни разу не играли, удаляются через 24 часа после последнего использования — вместе с относящейся к ним сессией. Кто играл как гость, сохраняет свои партии; если ты позже создашь аккаунт, из того же самого игрового места получится аккаунт — второй не появится, и ничего сыгранного не пропадёт.
В партии, которая идёт долгое время, ты как гость можешь добровольно оставить адрес электронной почты, чтобы тебе пришло сообщение, когда наступит твой ход. Адрес тогда относится к этой одной партии, а не к тебе как к человеку: он используется только после того, как ты подтвердишь его по ссылке подтверждения (двойное подтверждение, double opt-in), каждое сообщение содержит ссылку для отписки, и адрес удаляется, как только ты отпишешься или партия закончится — в зависимости от того, что наступит раньше. Для сообщений действует фиксированный минимальный интервал; ничего, кроме «твой ход», на этот адрес никогда не отправляется. Правовое основание — твоё согласие (ст. 6(1)(a) GDPR), которое можно в любой момент отозвать по ссылке для отписки.
Партии и ходы
Для каждой партии хранятся: вариант, длина матча и игровые настройки, оба места, счёт, позиция на доске, состояние куба удвоения и результат. Кроме того — журнал ходов: для каждой записи порядковый номер, чей был ход, вид события (бросок, ход, удвоение, принятие, сдача …), выпавшие числа и момент времени. Эти данные привязаны не к имени пользователя, а к непрозрачному идентификатору игрока без привязки к личности. Партии открыты для просмотра — это свойственно игровому серверу, так же как партию за доской могут видеть стоящие вокруг.
Сообщения за доской
В партиях, возникших по ссылке-приглашению, оба игрока могут писать друг другу короткие сообщения (не более 200 знаков). Сообщение идёт через этот сервер на страницу партии другого игрока — и только туда: зрители его не получают, никто его не читает, третьи лица не участвуют. Оно не сохраняется — ни на сервере, ни в браузере: нет ни журнала, ни копии, и с закрытием страницы оно исчезает. В оперативной памяти сервера находится только сообщение в пути. Поэтому тот, кто жалуется на сообщение, описывает в жалобе, что было сказано, — другой копии нет. Получатель может отключить чат в меню «Ещё» на странице партии; этот выбор хранится в cookie __Host-prefs (см. «Файлы cookie»).
Сообщения о противоправном содержании
Через форму «Пожаловаться на содержимое» любой — в том числе без аккаунта — может указать на противоправное содержание. Сохраняются адрес на этом сайте, на который подана жалоба, введённый текст и, только если он указан добровольно, контактный адрес для ответа. Никакой связи с аккаунтом или сессией не устанавливается. После обработки сообщение полностью удаляется.
Обратная связь
Через форму «Обратная связь» любой — в том числе без аккаунта — может написать, что на этом сайте неверно, отсутствует или звучит криво. Сохраняются введённый текст, выбранный тип (что-то не работает, текст неверный, идея), фрагмент текста страницы, если ты его укажешь, языковая версия, класс страницы, с которой было написано сообщение (то же грубое деление, что и при подсчёте просмотров, то есть, например, «/regeln»), приблизительное семейство браузера и устройства вместе с основной версией (например, «Chrome 129 на Android», никогда не полная строка идентификации браузера), версия программного обеспечения и — только если он указан добровольно — контактный адрес для ответа. Кто пишет с игровой доски, отправляет также адрес этой партии и место в ней, пока отмечен соответствующий флажок; сама партия и так доступна любому, у кого есть ссылка. Никакой связи с аккаунтом или сессией не устанавливается. Это другой путь, чем описанное выше сообщение о противоправном содержании; какой из них имеется в виду, решает тот, кто пишет.
Чтобы ни одно сообщение не осталось без внимания, сервер сразу после отправки заносит каждое из них как запись в непубличный список задач этого проекта на GitHub (GitHub, Inc., США; сертифицирована в рамках EU-US Data Privacy Framework). Там его просматривают, переводят и обрабатывают, в том числе с помощью ИИ-ассистента (Claude от Anthropic, США). Контактный адрес при этом не передаётся, а адреса электронной почты и номера телефонов в тексте предварительно делаются неузнаваемыми. Без контактного адреса сообщение удаляется с нашего сервера, как только оно передано, с контактным адресом — после ответа. Запись на GitHub сохраняется как часть истории разработки; кто хочет её удалить, пишет нам, указав номер, который показывается после отправки.
Журналы сервера
Сервер записывает для каждого запроса строку с HTTP-методом, путём, кодом состояния и временем обработки. Ни IP-адрес, ни User-Agent не записываются, потому что это был бы профиль того, кто когда во что играл, — именно то, чего этот проект собирать не хочет. Кратковременные данные соединений могут возникать на уровне стоящего перед ним веб-сервера; см. раздел «Хостинг».
Подсчёт просмотров без привязки к личности
Сервер считает, как часто открываются его страницы. Подсчёт ведётся по календарным дням (UTC), каждый раз в виде простой суммы и каждая величина отдельно: просмотры по классам страниц — все страницы партий вместе как один класс, без идентификатора отдельной партии, — просмотры по языковым версиям, а если браузер передаёт ссылающийся сайт — только его домен (например, reddit.com), никогда не полный адрес, — и просмотры немногих коротких ссылок (например, nard.gg/r/reddit), которые мы сами распространяем там, где рассказываем о сайте: они показывают, по какому каналу ссылка, которой поделились, нашла своих читателей, и поэтому не содержат ни параметров, ни связи с тобой.
К этому добавляются четыре суммы, которые говорят, для кого мы делаем сайт: страна, к которой отнесён твой IP-адрес, — для этого адрес ищется в том же запросе и отбрасывается, а сохраняется только «TR: 4 812 просмотров за этот день» (сопоставление по свободно доступной базе данных DB-IP, CC BY 4.0), — грубый класс браузера и устройства (например, «Chrome 120 на Android»; полная строка User-Agent не сохраняется), язык, который запрашивает твой браузер (только код языка, например «fa», — чтобы мы знали, какого перевода не хватает), и на странице партии — время отклика живого соединения в грубых ступенях («до 150 мс»), которое измеряет сам сервер. Запись, таким образом, выглядит как «в этот день было 40 просмотров из Турции» или «страницу тавлы открыли 40 раз» — больше в ней ничего нет, и ни одно из этих чисел не стоит рядом с другим.
Когда ты делишься приглашением, сервер считает ещё три суммы, также по календарным дням и каждую отдельно: каким способом поделились (например, «Зал ожидания · WhatsApp» или «Задача · Ссылка скопирована» — выбор идёт из фиксированного списка), как долго зал ожидания был уже открыт в момент нажатия, в четырёх ступенях («сразу», «до 2 минут», «до 10 минут», «от 10 минут»), и в какой час (UTC) поделились. К этому добавляются суммы того, что происходит с открытыми приглашениями: сколько их появилось, сколько было принято, как часто вместо человека подключился компьютер и сколько было отозвано.
Чего при этом намеренно не происходит: ссылка, которой делятся, не получает ни метки, ни параметра — адрес, который попадает в чужой групповой чат, тот же, что ты видишь в браузере. Не фиксируется, какой партией поделились, кто поделился и пришёл ли кто-то на другом конце. Нажатие и последующее присоединение — две отдельные суммы, и их нельзя сопоставить друг с другом — даже оператору, который тем самым сознательно оставляет без ответа самый очевидный маркетинговый вопрос («какой мессенджер приводит больше всего партнёров по игре»).
Для этого не устанавливается ни один cookie, не сохраняются ни IP-адрес, ни User-Agent и не присваивается идентификатор; в браузере ничего не сохраняется и не считывается, поэтому § 25 TDDDG не применяется и согласие не требуется. Два просмотра в этих числах нельзя распознать как «одного и того же посетителя» — даже оператору: здесь нет чисел посетителей, только числа просмотров. Все величины считаются отдельно и не могут быть связаны друг с другом. Числа отвечают только на вопрос, какие страницы и языки используются, из каких стран, с каких устройств и по каким соединениям, и какие сайты ссылаются сюда; третьим лицам из этого ничего не передаётся.
Подсчёт ошибок
Чтобы замечать ошибки, о которых никто не сообщает, — сайт выходит на нескольких языках, и сломанную доску в одном из них оператор сам не увидит, — сервер считает, где что-то идёт не так. Подсчёт ведётся по календарным дням (UTC): когда сервер отвечает на запрос ошибкой сервера, когда живое соединение внутри сервера обрывается или когда один из собственных скриптов даёт сбой в твоём браузере. В последнем случае скрипт отправляет на этот сервер короткое сообщение: текст ошибки, файл скрипта и строку, а также адрес страницы. Из этого сохраняется только счётчик: сколько раз за этот день возникла одна и та же ошибка — описанная первой строкой текста ошибки, сокращённой до 160 знаков и очищенной от интернет-адресов и частей ссылок, именем файла скрипта со строкой и адресом страницы, сведённым к её грубому классу и языковой версии (например, «страница партии» и «tr», но никогда не отдельная партия).
В отличие от подсчёта просмотров, здесь в одной строке стоят несколько сведений — вид ошибки, класс страницы и языковая версия, — потому что ошибку без её места нельзя было бы найти. Человека в ней всё равно нет: не присваивается идентификатор, не сохраняются ни IP-адрес, ни User-Agent, и время не фиксируется точнее, чем до дня; в браузере ничего не сохраняется и не считывается — сообщение содержит только то, что собственный скрипт сам создал при сбое, поэтому § 25 TDDDG и здесь не применяется и согласие не требуется. Без JavaScript ничего не сообщается, и на игру это никак не влияет. Правовое основание — ст. 6(1)(f) GDPR; законный интерес состоит в том, чтобы находить и устранять ошибки — в том числе в языковых версиях, которые оператор сам не читает. Третьим лицам из этого ничего не передаётся.
Чего здесь нет
- Никаких сторонних инструментов аналитики или статистики. Единственная статистика — описанный выше собственный подсчёт: суммы без привязки к личности, на этом сервере.
- Никакой рекламы и никаких рекламных сетей.
- Никаких пикселей отслеживания, никаких счётных меток, никаких методов снятия цифровых отпечатков (fingerprinting).
- Никаких встроенных виджетов социальных сетей и никакого встроенного стороннего содержания. Кнопки «Поделиться» рядом со ссылкой-приглашением — это простые ссылки: при показе страницы ничего не передаётся; только тот, кто нажимает такую кнопку, передаёт соответствующему мессенджеру свой IP-адрес и ссылку, которой делится.
- Никаких внешних шрифтов, никаких сторонних скриптов, никакого CDN. Все файлы поступают с этого сервера, в том числе шрифты интерфейса; какие это шрифты и под какой лицензией, сказано в «Правовой информации», в разделе «Авторское право и лицензия». Каждой страницей можно полностью пользоваться без JavaScript, и каждая запрещает сторонние и встроенные скрипты через
Content-Security-Policy. Собственные скрипты делают сайт удобнее: например, позволяют управлять меню верхней панели с клавиатуры, перетаскивать шашки на доске и сразу показывают ход соперника на открытой странице. Все они находятся на этом сервере и ничего не подгружают от третьих лиц. Помимо того, что ты делаешь сам, и загрузки файлов сайта, они отправляют на этот сервер только три вещи: запрос без содержимого, который измеряет, как быстро отвечает соединение; когда ты делишься приглашением, — выбранный способ (раздел «Когда ты делишься приглашением»); и если один из них даёт сбой, — короткое сообщение с текстом ошибки, файлом скрипта и строкой (раздел «Подсчёт ошибок»). От двух последних остаётся лишь дневной счётчик без идентификатора, и больше ничего. - Никакой продажи и никакой передачи в рекламных или аналитических целях. В третью страну попадает только сообщение обратной связи, которое ты отправляешь сам, — куда и как, сказано в разделе об обратной связи.
- Никакого автоматизированного принятия решений и никакого профилирования в смысле ст. 22 GDPR.
Одно исключение, для полноты: для доказательства честности бросков сервер запрашивает публичные случайные значения сети drand (api.drand.sh). При этом никакие данные пользователей не передаются, и твой браузер с этим сервисом не соединяется.
Правовые основания
- Ст. 6(1)(b) GDPR — для аккаунта, сессии и игрового процесса: без этих данных желаемый тобой сервис невозможно предоставить.
- Ст. 6(1)(a) GDPR — для добровольного адреса электронной почты. Согласие ты можешь в любой момент отозвать, попросив удалить адрес; законность обработки, осуществлённой до этого момента, не затрагивается.
- Ст. 6(1)(f) GDPR — для журналов сервера, подсчёта просмотров, подсчёта ошибок, обратной связи и защиты от злоупотреблений. Законный интерес состоит в стабильной и безопасной работе, в том, чтобы знать, какие страницы используются, и находить и исправлять ошибки; журналы и счётчики намеренно настолько скупы, что не позволяют тебя идентифицировать.
Срок хранения
- Данные аккаунта: до удаления аккаунта.
- Сессии: до выхода, но не дольше 30 дней после последнего использования.
- Гостевые места без партии: 24 часа после последнего использования. С партией: как партия.
- Добровольный адрес гостя для уведомлений о ходе: до отписки, но не дольше конца партии, к которой он привязан; неподтверждённые записи — соответственно раньше.
- Открытые приглашения, которые так и не были приняты: 30 дней.
- Сообщения о противоправном содержании: до обработки; после этого они удаляются вместе с добровольно указанным контактным адресом.
- Обратная связь: на нашем сервере до передачи в список задач на GitHub, с контактным адресом — до ответа, затем полностью удаляется; запись на GitHub сохраняется, пока кто-нибудь не потребует её удалить.
- Журналы сервера: не более 14 дней, исключительно для поиска ошибок. Журнал доступа стоящего перед ним веб-сервера ротируется и удаляется не позднее чем через 14 дней; IP-адрес и User-Agent удаляются уже при записи, а не только при удалении.
- Счётчики просмотров: бессрочно — они содержат только суммы за день без привязки к личности, из которых нельзя восстановить ни одно посещение.
- Счётчики ошибок: бессрочно — по дням число ошибок по источнику, классу страницы, языковой версии и виду ошибки, без идентификатора и без времени суток; см. раздел «Подсчёт ошибок».
- Ежедневный счётчик вошедших аккаунтов: бессрочно — по дням только число аккаунтов, которые входили, без фиксации того, какие именно.
- Счётчик отправки электронных писем: бессрочно — по дням и видам сообщений число попыток и сколько из них не удалось («отправлено три подтверждения, одно — нет»). Без получателя, без адреса, без идентификатора; по нему нельзя установить, кому писали. Счётчик существует, чтобы сбой отправки писем был замечен раньше, чем кто-то напрасно будет ждать подтверждения.
- Партии и журнал ходов: бессрочно — см. следующий раздел.
Журнал ходов только дописывается — и почему
Партия — общее дело. Она касается твоего соперника так же, как и тебя, она — основа результата и рейтинга, и она — доказательство того, что кости бросались честно. Поэтому журнал ходов только дописывается: записи добавляются, но никогда не изменяются и никогда не удаляются по отдельности. Это не договорённость, а ограничение, которое обеспечивает сама база данных с помощью триггера. Уже сыгранную партию нельзя задним числом переписать — даже оператору.
Что на самом деле происходит при требовании об удалении по ст. 17 GDPR
Всё, что идентифицирует тебя как человека, находится ровно в одной таблице. Удаление убирает эту строку. В частности:
- Удаляются имя пользователя, адрес электронной почты и хеш пароля. После этого их больше нет, и восстановить их нельзя.
- Все твои сессии удаляются. Тем самым ты сразу выходишь из аккаунта на всех устройствах; войти больше невозможно, потому что данных для входа больше нет.
- Сохраняется запись без привязки к личности: внутренний номер, случайно созданный непрозрачный публичный идентификатор и момент создания аккаунта. Этот идентификатор нужен, чтобы партии не распались.
- Партии, ходы и результаты сохраняются, но теперь только под этим идентификатором. Вместо тебя отображается «удалённый игрок» с первыми шестью символами непрозрачного идентификатора. Связи с твоим именем или адресом электронной почты больше не существует — в том числе и для оператора.
- Твоё прежнее имя пользователя снова становится свободным и позже может быть зарегистрировано кем-то другим. Этот человек не имеет никакого отношения к твоим старым партиям.
Мы считаем это честной реализацией: ст. 17(3)(e) GDPR исключает данные, необходимые для осуществления прав, а партия принадлежит и противоположной стороне. Вместо того чтобы утверждать, будто всё исчезает, удаляется привязка к личности, а анонимный результат игры остаётся. Если ты с этим не согласен, скажи об этом до подачи требования об удалении — тогда можно обсудить, что возможно.
Удаление ты можешь запустить сам: в настройках, в пункте «Удалить аккаунт», с подтверждением паролем. Письма в свободной форме на указанный выше адрес тоже достаточно.
Твои права
По отношению к ответственному лицу у тебя есть следующие права:
- Доступ (ст. 15 GDPR) — сведения о том, какие данные о тебе хранятся.
- Исправление (ст. 16 GDPR) неверных данных.
- Удаление (ст. 17 GDPR) в описанном выше объёме.
- Ограничение обработки (ст. 18 GDPR).
- Переносимость данных (ст. 20 GDPR) в машиночитаемом формате.
- Возражение (ст. 21 GDPR) против обработки на основании законных интересов.
- Отзыв согласия (ст. 7(3) GDPR), например в отношении адреса электронной почты.
- Жалоба в надзорный орган (ст. 77 GDPR), в частности в орган по месту твоего пребывания или в орган, компетентный в отношении ответственного лица: Landesbeauftragte für Datenschutz und Informationsfreiheit Nordrhein-Westfalen (LDI NRW), www.ldi.nrw.de
Право на возражение
Ты вправе в любой момент по причинам, связанным с твоей особой ситуацией, заявить возражение против обработки твоих данных, если она основана на ст. 6(1)(f) GDPR, — здесь это касается журналов сервера, подсчёта просмотров, подсчёта ошибок и защиты от злоупотреблений. После возражения эти данные больше не обрабатываются, если только не могут быть доказаны веские законные основания, перевешивающие твои интересы. Достаточно сообщения в свободной форме на kontakt (at) nard.gg; обоснование помогает, но не является условием.
Хостинг
Сервис работает на арендованной серверной инфраструктуре компании Hetzner Online GmbH, местонахождение: Nürnberg, Deutschland. С поставщиком заключён договор об обработке данных по поручению в соответствии со ст. 28 GDPR. Поставщик обрабатывает данные только по указаниям и для целей эксплуатации; по техническим причинам там могут кратковременно возникать данные соединений, включая IP-адрес.
Безопасность
Соединение на всём протяжении зашифровано с помощью TLS. Пароли хешируются с добавлением серверного секрета (pepper), токены сессий хранятся только в виде хеша, cookie сессии закрыт от доступа скриптов, а запросы на запись проверяются на происхождение. Полной защиты не может обещать никто.
Контакт
По всем вопросам защиты данных и для осуществления твоих прав достаточно письма в свободной форме на kontakt (at) nard.gg — «(at)» означает символ @, см. выше. Запросы обрабатываются бесплатно и без требований к форме. При обоснованных сомнениях в личности запрашивающего могут потребоваться дополнительные сведения — например, подтверждение того, что у тебя есть доступ к соответствующему аккаунту.
Изменения
Если в сервисе изменится что-то существенное для защиты данных, эта страница будет обновлена. Действует текущая редакция. См. также Правовую информацию.
Последнее изменение — 5 октября 2026 года: сообщения обратной связи содержат больше сведений, при отправке с игровой доски могут прикладывать партию и попадают в список задач на GitHub, где их также анализируют с помощью ИИ-ассистента. Исправлено 11 сентября 2026 года: откуда берутся шрифты, что собственные скрипты отправляют на сервер, что сохраняется при сбое скрипта и как отображается удалённый аккаунт. Добавлены 1 сентября 2026 года: раздел «Подсчёт ошибок», ежедневный счётчик вошедших аккаунтов, добровольное уведомление о ходе для гостей (раздел «Игра без аккаунта») и четвёртый файл cookie для стартовой формы.