ГГГлупое голосование

Как это работает

Методика

Главная цель методики — честно показать ограничения: это анонимное онлайн-голосование посетителей сайта с общей статистикой по городам.

Не выборы и не опрос

Это независимый общественный индикатор настроения участников. Это не выборы, не референдум и не репрезентативный социологический опрос.

Игровой формат

Проект показывает настроение посетителей сайта и не является юридически значимой процедурой. Принцип интерфейса простой: один человек = один голос, но технически мы честно показываем ограничения веб-голосования.

Это не социологический замер

Выборка не репрезентативна: голосуют только посетители сайта, которые сами решили участвовать.

Анонимность

Мы не просим имя, телефон, email, аккаунты, документы, адрес или страну проживания.

Город вместо территории

В статистике используется точка города: название, округлённые координаты и OSM ID, если он доступен.

Голос с сайта — честно об ограничениях

Голос с сайта принимается честно: один браузер — один голос. Открыть другой браузер или режим инкогнито нетрудно. Мы не скрываем это — число голосов с сайта показывается отдельно.

Надёжный голос из приложения

Голос из приложения защищён Apple DeviceCheck (iOS) или Google Play (Android). Переустановка приложения не даёт проголосовать снова — бит «проголосовал» хранится на стороне Apple/Google, а не на устройстве. На устройстве после голоса остаётся только флаг «уже проголосовал» без информации о выборе.

Два числа в статистике

Голоса с сайта и голоса из приложения показываются раздельно. Никакого скрытого взвешивания: один голос — одна единица, независимо от источника. Разделение нужно только для честности.

Отпечаток и IP

Для защиты от накрутки считаются анонимные хэши отпечатка устройства и IP. Сырой IP, сырой token и сырой fingerprint не хранятся. Эти сигналы помогают замечать подозрительные повторы, но не блокируют голос автоматически.

Три уровня проверки голоса

1. Выбор города на карте (web + мобильное): Пользователь тыкает точку на карте. Сервер определяет город по координатам через reverse geocoding. 2. Подтверждение названием (web + мобильное): Пользователь вводит название города вручную. Сервер сверяет ввод с реальным городом в выбранной точке. Несовпадение — голос не принимается. 3. Геопозиция ±50 км (только мобильное): Мобильное приложение запрашивает грубую геопозицию (точность WiFi/сотовая, без GPS). Координаты округляются до 0.5° (~55 км) и не сохраняются. Если совпадают с выбранным городом — голос получает статус «достоверный».

Подтверждение в приложении

Если вы голосуете из приложения iOS или Android, через 12–48 часов мы можем попросить подтвердить, что вы реальный человек. Это добровольный шаг для антифрода: он не меняет ваш выбор и не показывается в публичной статистике отдельно от других голосов. Голос с сайта учитывается так же, без наказания. Разрешите доступ к геолокации (один раз) и откройте камеру — сфотографируйте что угодно, но не людей и не документы. Можно даже закрыть объектив листом бумаги. Нам важны не снимок и не точка на карте, а факт, что вы прошли этот шаг на реальном устройстве. Фото не отправляется на сервер, не сохраняется в галерее проекта и не используется для распознавания личности. Геопозиция запрашивается один раз в момент подтверждения и сохраняется как координаты этого момента — без сопоставления с конкретным местом или маршрутом. На backend записывается факт и время подтверждения по одноразовому анонимному коду, без привязки к устройству или варианту голоса в публичных API; координаты и факт подтверждения автоматически удаляются по тем же срокам хранения, что и IP-адрес.