Privacy Policy
Odyssey Analytics, https://odysseyanalytics.app. Effective 2 November 2026.
Who we are
Odyssey Analytics is a private web cabinet for a media-buying team. The site is https://odysseyanalytics.app (the www host serves the same application). This policy explains what information the cabinet collects, why it collects it, where it is stored, and how a person can stop that collection. The contact for privacy questions is wenchangxx@gmail.com.
Google user data we request
A signed-in admin or buyer can connect one Google account from the Agents tab. The only Google account the cabinet accepts and stores is wenchangxx@gmail.com. A sign-in from any other Google account is rejected and is not saved.
The OAuth consent screen asks for these scopes, and only these scopes:
- openid
- https://www.googleapis.com/auth/userinfo.email
- https://www.googleapis.com/auth/spreadsheets.readonly
- https://www.googleapis.com/auth/drive.readonly
From that grant the cabinet reads the Google account email address, a refresh token, and a short-lived access token. With the token it reads the cells of Google Sheets whose links a team admin has saved on an agent card. Those sheets hold advertising-cabinet names, ad-account ids, buyer labels, and daily spend. The read-only Drive scope is requested so the same account can open spreadsheets that are not public. The cabinet does not list the rest of Google Drive, does not download other Drive files, and does not create, edit, or delete any Google file.
How we use Google user data
The email is used only to confirm that the connected account is the one mailbox allowed to read those sheets. The tokens are used only to call the Google Sheets API and read the linked spreadsheets. The spend and cabinet rows are shown inside the cabinet to signed-in team members so they can compare agent spend with the Facebook reports the team uploads. That comparison is the feature on the Agents tab and on the analytics screen.
Odyssey Analytics's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
What we do not do with Google user data
We do not sell Google user data. We do not use it for advertising, retargeting, credit, or lending. We do not use it to train generalized machine-learning models. We do not transfer it to advertising networks, data brokers, or other apps. Humans on the team see sheet rows only inside the cabinet, as part of the spend comparison described above. We do not read Gmail, Google Calendar, Google Contacts, or any Google product other than the email address and the linked spreadsheets.
Where Google user data is stored
The refresh token, the current access token, its expiry time, and the Google email are stored in our application database (Supabase) under a single settings record named google_oauth. The application server (hosted on Vercel) uses that record to refresh the access token and to read sheets. Sheet cells are read when a team member opens a date range. They are not copied into a separate Google archive. Access to the database is limited to the application server. The cabinet does not put the refresh token into the browser or into notes.
How long we keep it and how to revoke access
The Google tokens stay in the database until a new sign-in from the Agents tab replaces them. You can revoke Odyssey at any time at https://myaccount.google.com/permissions. After that revocation the stored refresh token stops working and the cabinet can no longer read the sheets. To remove the stored record, email wenchangxx@gmail.com and ask us to delete the Google connection. We will delete the token record. Spend figures already shown inside ordinary cabinet reports are team advertising numbers, not the Google account itself, and those reports stay until the team deletes them.
Other information the cabinet stores
People who use the cabinet have an account: login, display name, nickname, a password hash, role, and an optional USDT TRC20 payout address they type themselves. The team uploads Facebook report files, creative files, task text, and cashbook rows. Those records are stored in the same application database and in private file storage so the team can run the cabinet. They are visible only to signed-in people whose role allows that screen. We do not sell this information. A person can ask wenchangxx@gmail.com to correct or delete their cabinet account. Deleting an account removes that login. Report files that person uploaded are removed with the account. Cashbook rows, creative orders, and tasks are kept because they are team records.
Sharing
We share information with the companies that host the cabinet: Vercel runs the application and Supabase stores the database and files. They process that information for us so the site can function. We also share a screen with the signed-in teammate who is allowed to see it. We disclose information if the law requires it. We do not share Google user data with any other third party.
Changes
If this policy changes, the new text replaces this page and the effective date above changes. Continued use of the Google connection after that date means the new text applies to the connection.
Политика конфиденциальности
Odyssey Analytics, https://odysseyanalytics.app. Действует с 2 ноября 2026.
Кто мы
Odyssey Analytics - закрытый кабинет команды, которая ведет рекламу. Сайт: https://odysseyanalytics.app. Адрес с www открывает то же приложение. Здесь написано, какие сведения кабинет собирает, зачем, где они лежат и как это остановить. Вопросы по этой политике: wenchangxx@gmail.com.
Какие данные Google мы запрашиваем
Админ или байер подключает один аккаунт Google на вкладке Агенты. Кабинет принимает и сохраняет только почту wenchangxx@gmail.com. Вход с другой почты Google отклоняется и не сохраняется.
На экране согласия запрашиваются только такие права:
- openid
- https://www.googleapis.com/auth/userinfo.email
- https://www.googleapis.com/auth/spreadsheets.readonly
- https://www.googleapis.com/auth/drive.readonly
Из этого разрешения кабинет получает адрес почты, refresh-токен и короткий access-токен. Токеном он читает ячейки таблиц Google, ссылки на которые админ сохранил на карточке агента. В этих таблицах имена рекламных кабинетов, id кабинетов, подписи байеров и спенд по дням. Право только на чтение Диска нужно, чтобы открыть таблицу, которая не выложена в открытый доступ. Остальной Диск кабинет не просматривает, другие файлы не скачивает и ничего в Google не создает, не меняет и не удаляет.
Зачем нужны данные Google
Почта нужна только чтобы убедиться, что подключен разрешенный ящик. Токены нужны только чтобы вызвать Google Sheets API и прочитать привязанные таблицы. Строки со спендом видны вошедшим сотрудникам: кабинет ставит их рядом с отчетами Facebook, которые команда загружает сама. Это сверка на вкладке Агенты и на экране аналитики.
Использование и передача в другое приложение сведений, полученных из API Google, соответствует Google API Services User Data Policy, включая требования Limited Use.
Чего мы с данными Google не делаем
Мы не продаем данные Google. Мы не используем их для рекламы, ретаргетинга, кредитов и скоринга. Мы не обучаем на них общие модели. Мы не передаем их рекламным сетям, брокерам данных и другим приложениям. Сотрудники видят строки таблицы только внутри кабинета, в сверке, которая описана выше. Почту Gmail, календарь, контакты и любые другие продукты Google кабинет не читает.
Где лежат данные Google
Refresh-токен, текущий access-токен, срок его действия и почта Google хранятся в базе приложения (Supabase), в одной записи настроек google_oauth. Сервер приложения на Vercel берет эту запись, обновляет access-токен и читает таблицы. Ячейки читаются, когда сотрудник открывает диапазон дат, и в отдельный архив Google не копируются. К базе ходит только сервер приложения. Refresh-токен в браузер и в заметки не попадает.
Срок хранения и отзыв доступа
Токены Google лежат в базе, пока новый вход на вкладке Агенты их не заменит. Доступ Odyssey можно отозвать в любой момент на странице https://myaccount.google.com/permissions. После отзыва сохраненный refresh-токен перестает работать, и кабинет больше не читает таблицы. Чтобы удалить саму запись, напишите на wenchangxx@gmail.com и попросите удалить подключение Google. Мы удалим запись с токеном. Цифры спенда, которые уже попали в обычные отчеты команды, остаются, пока команда не удалит эти отчеты: это учет рекламы, а не аккаунт Google.
Другие сведения кабинета
У человека в кабинете есть учетная запись: логин, имя, ник, хеш пароля, роль и адрес USDT TRC20, если он сам его указал. Команда загружает файлы отчетов Facebook, файлы креативов, текст задач и строки кассы. Это хранится в той же базе и в закрытом хранилище файлов, чтобы кабинет работал. Экран видит только вошедший человек, которому роль это разрешает. Эти сведения мы не продаем. Исправить или удалить учетную запись можно письмом на wenchangxx@gmail.com. Удаление убирает логин. Файлы отчетов, которые загрузил этот человек, удаляются вместе с учетной записью. Строки кассы, заказы креативов и задачи остаются: это записи команды.
Кому мы передаем сведения
Сведения получают компании, на которых работает кабинет: Vercel запускает приложение, Supabase хранит базу и файлы. Они обрабатывают их для нас, чтобы сайт открывался. Экран также видит вошедший сотрудник, которому он разрешен. Мы раскрываем сведения, если этого требует закон. Данные пользователя Google другим третьим лицам не передаются.
Изменения
Если политика изменится, новый текст заменит эту страницу, а дата вверху изменится. Продолжение использования подключения Google после этой даты означает, что к подключению применяется новый текст.