Не выборы и не опрос
Это независимый общественный индикатор настроения участников. Это не выборы, не референдум и не репрезентативный социологический опрос.
Как это работает
Главная цель методики — честно показать ограничения: это анонимное онлайн-голосование посетителей сайта с общей статистикой по городам.
Это независимый общественный индикатор настроения участников. Это не выборы, не референдум и не репрезентативный социологический опрос.
Проект показывает настроение посетителей сайта и не является юридически значимой процедурой. Принцип интерфейса простой: один человек = один голос, но технически мы честно показываем ограничения веб-голосования.
Выборка не репрезентативна: голосуют только посетители сайта, которые сами решили участвовать.
Мы не просим имя, телефон, email, аккаунты, документы, адрес или страну проживания.
В статистике используется точка города: название, округлённые координаты и OSM ID, если он доступен.
Сайт — дополнительный канал с более низким доверием: один браузер — один голос, но другой браузер или инкогнито открыть нетрудно. Основной доверенный канал — приложение iOS/Android. Число голосов с сайта показывается отдельно.
iOS: Apple DeviceCheck хранит слот участия в текущем вопросе, поэтому переустановка не даёт второй голос в этом же вопросе. Android: Google Play Integrity + Device Recall — тот же принцип, когда включено на сервере. После перехода к новому вопросу прошлый слот не переносится как запрет; выбор и город в Apple/Google не сохраняются.
Голоса с сайта и голоса из приложения показываются раздельно. Никакого скрытого взвешивания: один голос — одна единица, независимо от источника. Разделение нужно только для честности.
Для защиты от накрутки считаются анонимные хэши отпечатка устройства и IP. Сырой IP, сырой token и сырой fingerprint не хранятся. Эти сигналы помогают замечать подозрительные повторы, но не блокируют голос автоматически.
1. Выбор города на карте (web + мобильное): Пользователь тыкает точку на карте. Сервер определяет город по координатам через reverse geocoding. 2. Подтверждение названием (web + мобильное): Пользователь вводит название города вручную. Сервер сверяет ввод с реальным городом в выбранной точке. Несовпадение — голос не принимается. 3. Геопозиция ±50 км (только мобильное): Мобильное приложение запрашивает грубую геопозицию (точность WiFi/сотовая, без GPS). Координаты округляются до 0.5° (~55 км) и не сохраняются. Если совпадают с выбранным городом — голос получает статус «достоверный».
Если вы голосуете из приложения iOS или Android, мы можем попросить одну дополнительную проверку на реальном устройстве. Это добровольный шаг для антифрода: он не меняет ваш выбор и не показывается в публичной статистике отдельно от других голосов. Голос с сайта учитывается так же, без наказания. Разрешите доступ к геолокации один раз, если хотите усилить доверие к голосованию. Геопозиция сразу округляется до ±50 км. Приложение отправляет только округлённую зону ±50 км; точная точка, адрес и маршрут не нужны. Никакие дополнительные материалы отправлять не нужно. Сервер проверяет округлённую зону по одноразовому анонимному коду и сохраняет только факт подтверждения. Точная GPS-точка, адрес, маршрут и округлённая геопозиция в голосе не хранятся.