324 lines
26 KiB
TypeScript
324 lines
26 KiB
TypeScript
import { Locales } from '@/utils/useLocale';
|
||
|
||
export type LegalDocumentId = 'privacy' | 'terms';
|
||
|
||
type LegalSection = {
|
||
id: string;
|
||
title: string;
|
||
paragraphs: string[];
|
||
};
|
||
|
||
export type LegalDocument = {
|
||
title: string;
|
||
description: string;
|
||
introduction: string;
|
||
sections: LegalSection[];
|
||
};
|
||
|
||
export const legalDocumentIds: LegalDocumentId[] = ['privacy', 'terms'];
|
||
export const legalUpdatedAt = '2026-10-01';
|
||
export const supportEmail = 'ztimms73@gmail.com';
|
||
|
||
export const legalCopy: Record<
|
||
Locales,
|
||
{
|
||
label: string;
|
||
read: string;
|
||
home: string;
|
||
updated: string;
|
||
contents: string;
|
||
contactTitle: string;
|
||
contactDescription: string;
|
||
documents: Record<LegalDocumentId, LegalDocument>;
|
||
}
|
||
> = {
|
||
ru: {
|
||
label: 'Открыто о важном',
|
||
read: 'Читать документ',
|
||
home: 'На главную',
|
||
updated: 'Обновлено 1 октября 2026',
|
||
contents: 'В этом документе',
|
||
contactTitle: 'Остались вопросы?',
|
||
contactDescription:
|
||
'Напишите разработчику по вопросам данных, работы приложения или этих документов.',
|
||
documents: {
|
||
privacy: {
|
||
title: 'Политика конфиденциальности',
|
||
description:
|
||
'Какие данные нужны RideBus, для чего они используются и как управлять разрешениями.',
|
||
introduction:
|
||
'Эта политика описывает обработку данных при использовании сайта и приложения RideBus. Доступность отдельных функций и состав данных зависят от версии приложения и включённых вами возможностей.',
|
||
sections: [
|
||
{
|
||
id: 'website',
|
||
title: 'Сайт и обращения',
|
||
paragraphs: [
|
||
'Для просмотра лендинга не требуется регистрация. На сайте нет форм для сбора персональных данных, рекламных трекеров и подключённой системы аналитики посещений.',
|
||
'При загрузке страниц сервер и инфраструктура доставки получают технические сведения запроса, включая IP-адрес, адрес страницы и сведения о браузере. Они необходимы для доставки контента и могут попадать в технические журналы инфраструктуры.',
|
||
'Если вы пишете разработчику по электронной почте или в Telegram, для ответа используются переданные вами контактные данные и содержание обращения. Не включайте в сообщение сведения, которые не нужны для решения вопроса.',
|
||
],
|
||
},
|
||
{
|
||
id: 'app',
|
||
title: 'Данные приложения',
|
||
paragraphs: [
|
||
'RideBus обрабатывает выбранный город, настройки и сведения, необходимые для запрошенных функций: просмотра расписаний, поиска остановок, построения маршрутов и сохранения избранного. Часть настроек и кеш расписаний сохраняются на устройстве.',
|
||
'При обращении к серверам расписаний и карт передаются параметры запроса и технические сведения соединения. В зависимости от версии приложения сервисы диагностики могут получать сведения об ошибках, версии приложения, устройстве и его работе для устранения сбоев.',
|
||
],
|
||
},
|
||
{
|
||
id: 'location',
|
||
title: 'Местоположение и разрешения',
|
||
paragraphs: [
|
||
'Доступ к местоположению запрашивается через системное разрешение и используется для функций рядом с вами, например поиска ближайших остановок и отображения позиции на карте. При запросе маршрута координаты выбранных точек могут передаваться сервису маршрутизации.',
|
||
'Вы можете отозвать разрешение в настройках устройства. Ручной выбор города, остановок и просмотр доступных расписаний не требуют разрешения на местоположение. Разрешение на уведомления также управляется в настройках устройства.',
|
||
],
|
||
},
|
||
{
|
||
id: 'passenger-mode',
|
||
title: 'Добровольный пассажирский режим',
|
||
paragraphs: [
|
||
'В версиях с пассажирским режимом передача геоданных включается отдельным действием пользователя. Одного разрешения на местоположение для включения этого режима недостаточно.',
|
||
'Когда режим включён и приложение открыто, на сервер RideBus могут передаваться координаты, точность, скорость, направление движения, время наблюдения, выбранные город и маршрут, а также случайный идентификатор сессии. Эти сведения используются для оценки движения общественного транспорта. Идентификатор сессии не является вашим именем, номером телефона или адресом электронной почты.',
|
||
'Передача прекращается при выключении режима, отзыве разрешения или уходе приложения в фон. Выключение режима останавливает новые отправки и само по себе не удаляет ранее отправленные сведения.',
|
||
],
|
||
},
|
||
{
|
||
id: 'providers',
|
||
title: 'Сторонние сервисы',
|
||
paragraphs: [
|
||
'Работа отдельных функций может требовать сервисов карт, маршрутизации, авторизации, уведомлений и диагностики, включая Google Firebase. Такие поставщики обрабатывают необходимые им данные по собственным условиям и политикам конфиденциальности.',
|
||
'Ссылки на Google Play, GitHub и Telegram ведут на внешние сайты. После перехода действуют правила соответствующего сервиса. Ознакомьтесь с ними перед передачей данных.',
|
||
],
|
||
},
|
||
{
|
||
id: 'control',
|
||
title: 'Управление данными',
|
||
paragraphs: [
|
||
'Вы можете изменить разрешения устройства, отключить добровольные функции и очистить локальные данные приложения средствами операционной системы. Очистка локальных данных не удаляет автоматически данные, которые уже были переданы серверам или сторонним сервисам.',
|
||
'По вопросам доступа, исправления или удаления переданных данных свяжитесь с разработчиком по адресу ниже. В обращении укажите, какой функцией и версией приложения вы пользовались; не отправляйте пароли и коды доступа. Возможность выполнения запроса зависит от того, можно ли установить, какие данные относятся к вам, и от применимых требований.',
|
||
],
|
||
},
|
||
{
|
||
id: 'updates',
|
||
title: 'Изменения политики',
|
||
paragraphs: [
|
||
'Актуальная редакция публикуется на этой странице с датой обновления. При изменении функций или обработки данных политика может быть уточнена. Для функций, требующих отдельного согласия, ознакомьтесь с информацией в приложении перед их включением.',
|
||
],
|
||
},
|
||
],
|
||
},
|
||
terms: {
|
||
title: 'Условия использования',
|
||
description:
|
||
'Как пользоваться RideBus, откуда берутся расписания и что учитывать при планировании поездки.',
|
||
introduction:
|
||
'Эти условия относятся к сайту и приложению RideBus — проекту для просмотра информации об общественном транспорте. Используя сервис, ознакомьтесь с его возможностями, ограничениями и политикой конфиденциальности.',
|
||
sections: [
|
||
{
|
||
id: 'service',
|
||
title: 'О сервисе',
|
||
paragraphs: [
|
||
'RideBus помогает просматривать расписания, остановки и маршруты в поддерживаемых городах. Набор функций зависит от версии приложения и доступности данных. Сервис предоставляется бесплатно; для отдельных функций требуется интернет, который оплачивается по тарифу вашего оператора.',
|
||
'RideBus — информационный проект. Разработчик не является перевозчиком, не продаёт билеты и не управляет движением транспорта.',
|
||
],
|
||
},
|
||
{
|
||
id: 'schedules',
|
||
title: 'Расписания и планирование поездок',
|
||
paragraphs: [
|
||
'Расписания и другие транспортные сведения поступают из доступных источников и могут обновляться с задержкой. Возможны изменения маршрутов, отмены рейсов, ошибки в данных и отклонения фактического времени прибытия от указанного.',
|
||
'Используйте информацию RideBus как ориентир. Если точное время поездки критично, проверяйте сведения у перевозчика или на остановке и закладывайте время на возможные изменения. О найденной ошибке можно сообщить разработчику.',
|
||
],
|
||
},
|
||
{
|
||
id: 'responsible-use',
|
||
title: 'Правила использования',
|
||
paragraphs: [
|
||
'Пользуйтесь сервисом законно и уважайте права других людей. Не вмешивайтесь в работу серверов, не пытайтесь получить несанкционированный доступ к чужим данным и не создавайте нагрузку, мешающую другим пользователям.',
|
||
'Если вы используете функции передачи транспортных данных, отправляйте достоверные сведения. Не подменяйте координаты и не используйте такие функции для наблюдения за другими людьми без законных оснований.',
|
||
'Во время движения соблюдайте правила дорожного движения и пользуйтесь приложением только тогда, когда это безопасно.',
|
||
],
|
||
},
|
||
{
|
||
id: 'permissions',
|
||
title: 'Разрешения и конфиденциальность',
|
||
paragraphs: [
|
||
'Отдельные функции требуют разрешения на местоположение, уведомления или самостоятельного включения. Вы можете отказаться от них или отозвать разрешения в настройках устройства; доступность связанных функций при этом изменится.',
|
||
'Обработка данных описана в политике конфиденциальности. Согласие на добровольную передачу геоданных даётся отдельно в приложении.',
|
||
],
|
||
},
|
||
{
|
||
id: 'materials',
|
||
title: 'Материалы и открытый исходный код',
|
||
paragraphs: [
|
||
'Права на название, оформление, тексты и другие материалы принадлежат их правообладателям. Доступность материалов в интернете не означает разрешение на любое их использование.',
|
||
'Если исходный код компонента опубликован с открытой лицензией, его использование и распространение регулируются этой лицензией. Условия соответствующих лицензий также распространяются на сторонние библиотеки и данные.',
|
||
],
|
||
},
|
||
{
|
||
id: 'availability',
|
||
title: 'Доступность и ответственность',
|
||
paragraphs: [
|
||
'Мы стремимся поддерживать работу RideBus, но не можем гарантировать непрерывную доступность сервиса, отсутствие ошибок или точность всех транспортных сведений. Перерывы возможны из-за обновлений, технических работ и сбоев внешних поставщиков.',
|
||
'Решения о поездке вы принимаете самостоятельно. Ответственность сторон определяется применимым законодательством; эти условия не ограничивают права пользователя и ответственность, которые нельзя ограничить по закону.',
|
||
],
|
||
},
|
||
{
|
||
id: 'changes',
|
||
title: 'Изменения и обратная связь',
|
||
paragraphs: [
|
||
'Функции сервиса и эти условия могут изменяться по мере развития проекта. Актуальная редакция условий публикуется на этой странице с датой обновления.',
|
||
'По вопросам работы RideBus, этих условий и обнаруженных ошибок свяжитесь с разработчиком по адресу ниже.',
|
||
],
|
||
},
|
||
],
|
||
},
|
||
},
|
||
},
|
||
en: {
|
||
label: 'The details that matter',
|
||
read: 'Read document',
|
||
home: 'Back to home',
|
||
updated: 'Updated October 1, 2026',
|
||
contents: 'In this document',
|
||
contactTitle: 'Have a question?',
|
||
contactDescription:
|
||
'Contact the developer about your data, the app or these documents.',
|
||
documents: {
|
||
privacy: {
|
||
title: 'Privacy policy',
|
||
description:
|
||
'What data RideBus needs, how it is used and how to manage your permissions.',
|
||
introduction:
|
||
'This policy describes data processing when you use the RideBus website and app. Available features and the data involved depend on your app version and the features you enable.',
|
||
sections: [
|
||
{
|
||
id: 'website',
|
||
title: 'Website and support requests',
|
||
paragraphs: [
|
||
'You do not need an account to view the landing page. The website has no personal data collection forms, advertising trackers or integrated visitor analytics.',
|
||
'When you load a page, the server and delivery infrastructure receive technical request information, including your IP address, the page address and browser information. This is needed to deliver content and may appear in infrastructure logs.',
|
||
'If you contact the developer by email or Telegram, the contact details and message you provide are used to respond. Please only include information needed to resolve your question.',
|
||
],
|
||
},
|
||
{
|
||
id: 'app',
|
||
title: 'App data',
|
||
paragraphs: [
|
||
'RideBus processes your selected city, preferences and information needed for requested features such as viewing schedules, finding stops, planning routes and saving favourites. Some preferences and cached schedules are stored on your device.',
|
||
'Requests to schedule and map servers include request parameters and technical connection information. Depending on your app version, diagnostic services may receive error reports, app version, device information and performance data to help fix failures.',
|
||
],
|
||
},
|
||
{
|
||
id: 'location',
|
||
title: 'Location and permissions',
|
||
paragraphs: [
|
||
'Location access requires system permission and is used for nearby features, such as finding nearby stops and showing your position on a map. When you request directions, coordinates of selected points may be sent to the routing service.',
|
||
'You can revoke permission in your device settings. Manually selecting a city or stop and viewing available schedules do not require location permission. Notification permission can also be managed in device settings.',
|
||
],
|
||
},
|
||
{
|
||
id: 'passenger-mode',
|
||
title: 'Optional passenger mode',
|
||
paragraphs: [
|
||
'In versions with passenger mode, location sharing requires a separate action by the user. Granting location permission alone does not enable this mode.',
|
||
'While the mode is enabled and the app is in the foreground, coordinates, accuracy, speed, heading, observation time, the selected city and route, and a random session identifier may be sent to the RideBus server. This information is used to estimate public transport movement. The session identifier is not your name, phone number or email address.',
|
||
'Sending stops when you disable the mode, revoke permission or move the app to the background. Disabling the mode stops new transmissions and does not itself delete information already sent.',
|
||
],
|
||
},
|
||
{
|
||
id: 'providers',
|
||
title: 'Third-party services',
|
||
paragraphs: [
|
||
'Some features may require map, routing, authentication, notification and diagnostic services, including Google Firebase. These providers process the data they need under their own terms and privacy policies.',
|
||
'Links to Google Play, GitHub and Telegram lead to external websites. Once you follow a link, that service’s rules apply. Please review them before providing data.',
|
||
],
|
||
},
|
||
{
|
||
id: 'control',
|
||
title: 'Managing your data',
|
||
paragraphs: [
|
||
'You can change device permissions, disable optional features and clear local app data using your operating system. Clearing local data does not automatically remove data already sent to servers or third-party services.',
|
||
'Contact the developer at the address below about access, correction or deletion of transmitted data. Specify the feature and app version you used; do not send passwords or access codes. Whether a request can be fulfilled depends on identifying which data relates to you and on applicable requirements.',
|
||
],
|
||
},
|
||
{
|
||
id: 'updates',
|
||
title: 'Policy updates',
|
||
paragraphs: [
|
||
'The current policy is published on this page with its update date. It may be revised when features or data processing change. For features requiring separate consent, review the information in the app before enabling them.',
|
||
],
|
||
},
|
||
],
|
||
},
|
||
terms: {
|
||
title: 'Terms of use',
|
||
description:
|
||
'How to use RideBus, where schedules come from and what to consider when planning a trip.',
|
||
introduction:
|
||
'These terms apply to the RideBus website and app, a project for viewing public transport information. When using the service, please review its features, limitations and privacy policy.',
|
||
sections: [
|
||
{
|
||
id: 'service',
|
||
title: 'About the service',
|
||
paragraphs: [
|
||
'RideBus helps you view schedules, stops and routes in supported cities. Features depend on the app version and available data. The service is free; some features require internet access, charged according to your provider’s plan.',
|
||
'RideBus is an information project. The developer is not a transport operator, does not sell tickets and does not control vehicle operations.',
|
||
],
|
||
},
|
||
{
|
||
id: 'schedules',
|
||
title: 'Schedules and trip planning',
|
||
paragraphs: [
|
||
'Schedules and other transport information come from available sources and updates may be delayed. Routes may change, trips may be cancelled, data may contain errors and actual arrival times may differ from those shown.',
|
||
'Use RideBus information as a guide. If timing is critical, check with the transport operator or at the stop and allow time for possible changes. You can report data errors to the developer.',
|
||
],
|
||
},
|
||
{
|
||
id: 'responsible-use',
|
||
title: 'Responsible use',
|
||
paragraphs: [
|
||
'Use the service lawfully and respect other people’s rights. Do not interfere with servers, attempt to access other people’s data without authorisation or create traffic that disrupts other users.',
|
||
'If you use transport data sharing features, provide accurate information. Do not falsify coordinates or use these features to monitor other people without a lawful basis.',
|
||
'Follow traffic rules and only use the app when it is safe to do so.',
|
||
],
|
||
},
|
||
{
|
||
id: 'permissions',
|
||
title: 'Permissions and privacy',
|
||
paragraphs: [
|
||
'Some features require location or notification permission, or a separate opt-in. You can decline them or revoke permissions in device settings; this will affect the availability of related features.',
|
||
'Data processing is described in the privacy policy. Consent to optional location sharing is given separately in the app.',
|
||
],
|
||
},
|
||
{
|
||
id: 'materials',
|
||
title: 'Materials and open source',
|
||
paragraphs: [
|
||
'Rights to the name, design, text and other materials belong to their respective rights holders. Being available online does not grant permission for every use.',
|
||
'Where a component’s source code is published under an open-source licence, that licence governs its use and distribution. Third-party libraries and data are also subject to their respective licences.',
|
||
],
|
||
},
|
||
{
|
||
id: 'availability',
|
||
title: 'Availability and responsibility',
|
||
paragraphs: [
|
||
'We aim to keep RideBus working, but cannot guarantee uninterrupted availability, error-free operation or the accuracy of all transport information. Updates, maintenance and external provider failures may cause interruptions.',
|
||
'You make your own travel decisions. Each party’s liability is governed by applicable law; these terms do not limit user rights or liability that cannot legally be limited.',
|
||
],
|
||
},
|
||
{
|
||
id: 'changes',
|
||
title: 'Changes and feedback',
|
||
paragraphs: [
|
||
'Service features and these terms may change as the project develops. The current terms are published on this page with their update date.',
|
||
'Contact the developer at the address below about RideBus, these terms or errors you have found.',
|
||
],
|
||
},
|
||
],
|
||
},
|
||
},
|
||
},
|
||
};
|