Beinday помогает видеть своё расписание и находить свободное время с друзьями. Ниже описана работа этой версии. Это описание не заменяет согласие на подключение Google и не обещает соответствие всем требованиям законодательства.
На сервере сохраняются имя, подтверждённая почта, хеш пароля, публичный ID, часовой пояс, выбранные интересы, настройки доступа и связи с друзьями. Пароль не хранится в открытом виде. Почта нужна для подтверждения регистрации, восстановления доступа и подтверждения подключения Google.
При входе через Telegram сервер проверяет подпись данных Mini App. Для связи аккаунта сохраняются Telegram ID и, если передано, имя пользователя Telegram. Вход через Telegram не заменяет подтверждение личной почты. Чужой аккаунт с той же почтой автоматически не объединяется с вашим.
Вы отдельно разрешаете чтение событий основного Google Calendar. Beinday получает название, место, начало и окончание события, признак занятости и статус ответа, чтобы показать ваш календарь и рассчитать свободные интервалы. Эта версия не создаёт и не меняет события Google.
Подключение обрабатывает сервер. Токены Google хранятся в базе в зашифрованном виде до отключения. События запрашиваются при просмотре расписания; их названия и подробности не записываются в постоянную базу или постоянный кеш Beinday. Полученные данные временно находятся в памяти сервера и открытой страницы. Сохранённые сервером токены Google не передаются в браузер.
Если Google недоступен, подключение отозвано или календарь ещё не подключён, мы показываем, что доступность не подтверждена. Отсутствие данных не считается свободным временем. Расчёт не учитывает сон, дорогу и дела вне подключённого календаря.
По точному публичному ID можно найти ваше имя и отправить запрос в друзья. QR-код содержит только ссылку с этим ID. Он создаётся в браузере; изображение не отправляется стороннему сервису. Сканирование QR-кода не добавляет друга автоматически и не открывает ваш календарь.
После принятия запроса друзья могут видеть только интервалы «свободен/занят», если вы разрешили обмен доступностью. Названия событий, места, почта и токены друзьям не передаются. Отключите обмен в настройках или удалите друга, чтобы прекратить новые запросы доступности. Уже увиденную или самостоятельно сохранённую другим человеком информацию отозвать невозможно.
Для входа используется защищённая cookie сессии. Браузер не получает к ней доступ из JavaScript. Данные аккаунта, пароли и токены Google не сохраняются приложением в localStorage или sessionStorage. До завершения входа в sessionStorage может сохраняться публичный ID из приглашения друга. Загруженное расписание очищается из памяти интерфейса при выходе.
Администратор видит список участников, почту, статус подтверждения, роль и состояние подключений. Экран администратора не показывает личные события. Технические журналы хостинга могут содержать IP-адрес, время и адрес запроса; срок их хранения зависит от настроек сервера и провайдера.
Кнопка «Отключить» в настройках Google Calendar удаляет сохранённые токены и прекращает получение доступности; сервер также отправляет Google запрос на отзыв разрешения. Доступ можно самостоятельно проверить и отозвать в настройках Google-аккаунта. Telegram можно отвязать в настройках при наличии альтернативного способа входа.
Для удаления аккаунта и связанных данных обратитесь к организатору пилота, который пригласил вас в Beinday. В этой версии нет автоматической кнопки удаления. Копии вне рабочей базы, включая резервные копии организатора, обрабатываются отдельно; мгновенное удаление всех таких копий не обещается.
Пилот предназначен для приглашённых тестировщиков. До публичного запуска организатор должен разместить здесь свои реквизиты, рабочий контакт по вопросам данных и конкретные сроки хранения и удаления резервных копий. Эти сведения пока не предоставлены.