forked from Rosetta/landing
Compare commits
10 Commits
580a0da008
...
faq-animat
| Author | SHA1 | Date | |
|---|---|---|---|
| f4bfc996df | |||
| 8c3418488c | |||
| b1bf162d56 | |||
| b722e6d952 | |||
| b494f94a56 | |||
| a7de198be1 | |||
| a572661681 | |||
| 2eab462ed6 | |||
| 7e17f46152 | |||
| a26785eb18 |
@@ -4,14 +4,14 @@
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Rosetta - Secure & Private Messaging | End-to-End Encrypted Chat</title>
|
||||
<meta name="description" content="Rosetta is a secure, fast, and private messaging app with military-grade end-to-end encryption. Download for macOS, Windows, and Linux. No phone number required." />
|
||||
<meta name="description" content="Rosetta is a secure, fast, and private messaging app with military-grade end-to-end encryption. Download for Windows, Linux, and Android. No phone number required." />
|
||||
<meta name="keywords" content="secure messaging, encrypted chat, private messenger, end-to-end encryption, secure communication" />
|
||||
<meta name="author" content="Rosetta Team" />
|
||||
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://rosetta.im/" />
|
||||
<meta property="og:title" content="Rosetta - Secure Messaging for Everyone" />
|
||||
<meta property="og:description" content="End-to-end encrypted messaging app with zero-knowledge architecture. Download for macOS, Windows, Linux." />
|
||||
<meta property="og:description" content="End-to-end encrypted messaging app with zero-knowledge architecture. Download for Windows, Linux, and Android." />
|
||||
<meta property="og:image" content="/og-image.png" />
|
||||
<meta property="og:site_name" content="Rosetta" />
|
||||
<meta property="og:locale" content="en_US" />
|
||||
@@ -34,7 +34,7 @@
|
||||
"description": "Secure end-to-end encrypted messaging application",
|
||||
"url": "https://rosetta.im",
|
||||
"applicationCategory": "CommunicationApplication",
|
||||
"operatingSystem": ["Windows", "macOS", "Linux", "Android"],
|
||||
"operatingSystem": ["Windows", "Linux", "Android"],
|
||||
"offers": {
|
||||
"@type": "Offer",
|
||||
"price": "0",
|
||||
|
||||
237
public/legal.css
Normal file
237
public/legal.css
Normal file
@@ -0,0 +1,237 @@
|
||||
:root {
|
||||
color-scheme: dark;
|
||||
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
||||
color: #edf3ff;
|
||||
background: #0c111a;
|
||||
font-synthesis: none;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
body {
|
||||
min-width: 320px;
|
||||
margin: 0;
|
||||
background: #0c111a;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.page {
|
||||
width: min(100% - 48px, 1120px);
|
||||
margin: 0 auto;
|
||||
padding: 20px 0 64px;
|
||||
}
|
||||
|
||||
.topbar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 24px;
|
||||
min-height: 56px;
|
||||
border-bottom: 1px solid #29354a;
|
||||
}
|
||||
|
||||
.brand {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
color: #f5f8ff;
|
||||
font-size: 18px;
|
||||
font-weight: 750;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.brand-mark {
|
||||
display: grid;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
place-items: center;
|
||||
overflow: hidden;
|
||||
border-radius: 8px;
|
||||
background: #17325f;
|
||||
}
|
||||
|
||||
.brand-mark img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.topbar nav,
|
||||
.legal-footer {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 18px;
|
||||
}
|
||||
|
||||
.topbar nav a,
|
||||
.legal-footer a {
|
||||
color: #aebbd0;
|
||||
font-size: 14px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.topbar nav a:hover,
|
||||
.topbar nav a[aria-current="page"],
|
||||
.legal-footer a:hover {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.document {
|
||||
width: min(100%, 790px);
|
||||
margin: 72px auto 0;
|
||||
}
|
||||
|
||||
.document-header {
|
||||
padding-bottom: 34px;
|
||||
border-bottom: 1px solid #29354a;
|
||||
}
|
||||
|
||||
.eyebrow {
|
||||
margin: 0 0 12px;
|
||||
color: #72afff;
|
||||
font-size: 13px;
|
||||
font-weight: 750;
|
||||
letter-spacing: 0;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
h1 {
|
||||
max-width: 680px;
|
||||
margin: 0;
|
||||
color: #f4f7ff;
|
||||
font-size: clamp(36px, 6vw, 56px);
|
||||
letter-spacing: 0;
|
||||
line-height: 1.04;
|
||||
}
|
||||
|
||||
.updated {
|
||||
margin: 16px 0 0;
|
||||
color: #8f9db3;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.document-content {
|
||||
padding-top: 32px;
|
||||
}
|
||||
|
||||
.document-content > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.lead {
|
||||
max-width: 740px;
|
||||
color: #d3dcec;
|
||||
font-size: 19px;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin: 48px 0 16px;
|
||||
padding-top: 30px;
|
||||
border-top: 1px solid #29354a;
|
||||
color: #f2f6ff;
|
||||
font-size: clamp(21px, 3vw, 26px);
|
||||
letter-spacing: 0;
|
||||
line-height: 1.24;
|
||||
}
|
||||
|
||||
p,
|
||||
li {
|
||||
color: #b7c3d6;
|
||||
font-size: 16px;
|
||||
line-height: 1.68;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0 0 18px;
|
||||
}
|
||||
|
||||
ul {
|
||||
display: grid;
|
||||
gap: 9px;
|
||||
margin: 0 0 20px;
|
||||
padding-left: 22px;
|
||||
}
|
||||
|
||||
li::marker {
|
||||
color: #72afff;
|
||||
}
|
||||
|
||||
.document-content a {
|
||||
color: #8fc0ff;
|
||||
overflow-wrap: anywhere;
|
||||
text-underline-offset: 3px;
|
||||
}
|
||||
|
||||
.address {
|
||||
padding: 18px 20px;
|
||||
border-left: 2px solid #4c8fe8;
|
||||
background: #121c2b;
|
||||
color: #d6dfef;
|
||||
white-space: pre-line;
|
||||
}
|
||||
|
||||
.legal-footer {
|
||||
justify-content: space-between;
|
||||
margin-top: 80px;
|
||||
padding-top: 24px;
|
||||
border-top: 1px solid #29354a;
|
||||
}
|
||||
|
||||
.legal-footer p {
|
||||
margin: 0;
|
||||
color: #77869d;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
.page {
|
||||
width: min(100% - 32px, 1120px);
|
||||
padding-top: 12px;
|
||||
}
|
||||
|
||||
.topbar {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
gap: 14px;
|
||||
padding-bottom: 16px;
|
||||
}
|
||||
|
||||
.topbar nav,
|
||||
.legal-footer {
|
||||
gap: 14px;
|
||||
}
|
||||
|
||||
.document {
|
||||
margin-top: 48px;
|
||||
}
|
||||
|
||||
.document-header {
|
||||
padding-bottom: 26px;
|
||||
}
|
||||
|
||||
.lead {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-top: 40px;
|
||||
padding-top: 26px;
|
||||
}
|
||||
|
||||
.legal-footer {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
margin-top: 56px;
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Политика конфиденциальности Rosetta</title>
|
||||
<title>Privacy Policy for Rosetta</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Политика конфиденциальности Rosetta: как ROSETTA CLOUD SERVICES LIMITED обрабатывает данные в end-to-end encrypted messenger."
|
||||
content="Privacy Policy for Rosetta by ROSETTA CLOUD SERVICES LIMITED: how data is handled in the end-to-end encrypted messenger."
|
||||
/>
|
||||
<link rel="canonical" href="https://rosetta.im/privacy/" />
|
||||
<style>
|
||||
@@ -79,152 +79,182 @@
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="/legal.css" />
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<a class="back" href="/">← На главную</a>
|
||||
<h1>Политика конфиденциальности Rosetta</h1>
|
||||
<p class="muted">Дата последнего обновления: 22 мая 2026 года</p>
|
||||
<main class="page">
|
||||
<header class="topbar">
|
||||
<a class="brand" href="/" aria-label="Rosetta home">
|
||||
<span class="brand-mark"><img src="/rosetta-logo.png" alt="" /></span>
|
||||
Rosetta
|
||||
</a>
|
||||
<nav aria-label="Legal pages">
|
||||
<a href="/support/">Support</a>
|
||||
<a href="/privacy/" aria-current="page">Privacy</a>
|
||||
<a href="/terms/">Terms</a>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<p>
|
||||
Rosetta IM управляется компанией ROSETTA CLOUD SERVICES LIMITED
|
||||
("Rosetta", "мы", "нас" или "наш"). Эта Политика конфиденциальности
|
||||
объясняет, как мы обрабатываем информацию при использовании приложения
|
||||
Rosetta и сайта https://rosetta.im.
|
||||
<article class="document">
|
||||
<header class="document-header">
|
||||
<p class="eyebrow">Rosetta legal</p>
|
||||
<h1>Privacy Policy</h1>
|
||||
<p class="updated">Last updated: May 22, 2026</p>
|
||||
</header>
|
||||
|
||||
<div class="document-content">
|
||||
|
||||
<p class="lead">
|
||||
Rosetta IM is operated by ROSETTA CLOUD SERVICES LIMITED ("Rosetta",
|
||||
"we", "us", or "our"). This Privacy Policy explains how we handle
|
||||
information when you use Rosetta, our end-to-end encrypted messaging
|
||||
application, and our website at https://rosetta.im.
|
||||
</p>
|
||||
|
||||
<h2>1. Какие данные мы обрабатываем</h2>
|
||||
<h2>1. Information We Collect</h2>
|
||||
<p>
|
||||
Rosetta создана с принципом минимизации данных. Для регистрации не
|
||||
требуется номер телефона, адрес электронной почты или настоящее имя.
|
||||
Приложение использует криптографические ключи и технические
|
||||
идентификаторы, необходимые для работы сервиса.
|
||||
Rosetta is designed to minimize data collection. Registration does not
|
||||
require a phone number, email address, or real name. The app uses
|
||||
cryptographic keys and technical identifiers needed to operate the
|
||||
service.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Данные учетной записи и криптографические данные: публичные ключи,
|
||||
идентификаторы учетной записи и связанные технические данные,
|
||||
необходимые для идентификации пользователей и доставки зашифрованных
|
||||
сообщений. Приватные ключи должны оставаться на вашем устройстве.
|
||||
Account and cryptographic data: public keys, account identifiers, and
|
||||
related technical data needed to identify users and deliver encrypted
|
||||
messages. Private keys are intended to remain on your device.
|
||||
</li>
|
||||
<li>
|
||||
Зашифрованные сообщения и медиа в процессе доставки: текст сообщений,
|
||||
файлы и медиа шифруются до отправки. Наши серверы предназначены для
|
||||
ретрансляции зашифрованных данных и зашифрованных ключей сообщений,
|
||||
а не для чтения содержимого сообщений.
|
||||
Encrypted messages and media in transit: message text, files, and
|
||||
media are encrypted before they are sent. Our servers are designed to
|
||||
relay encrypted payloads and encrypted message keys, not to read
|
||||
message contents.
|
||||
</li>
|
||||
<li>
|
||||
Технические данные устройства и приложения: версия приложения,
|
||||
операционная система, платформа, архитектура, данные запросов на
|
||||
обновление, IP-адрес, временные метки и серверные журналы, необходимые
|
||||
для безопасности, надежности, предотвращения злоупотреблений и
|
||||
доставки обновлений.
|
||||
Device and app data: app version, operating system, platform,
|
||||
architecture, update request data, IP address, timestamps, and server
|
||||
logs needed for security, reliability, abuse prevention, and update
|
||||
delivery.
|
||||
</li>
|
||||
<li>
|
||||
Обращения в поддержку: если вы связываетесь с нами, мы можем
|
||||
обработать ваш email, содержание обращения и информацию, которую вы
|
||||
добровольно предоставили.
|
||||
Support communications: if you contact us, we may process your email
|
||||
address, message content, and any information you choose to provide.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>2. Реклама и трекинг</h2>
|
||||
<h2>2. Information We Do Not Collect for Advertising</h2>
|
||||
<p>
|
||||
Мы не используем сторонние рекламные SDK, рекламные трекеры или
|
||||
межсервисное отслеживание. Мы не продаем персональные данные.
|
||||
We do not use third-party advertising SDKs, advertising trackers, or
|
||||
cross-app tracking. We do not sell your personal information.
|
||||
</p>
|
||||
|
||||
<h2>3. Как мы используем данные</h2>
|
||||
<p>Мы используем данные только для того, чтобы:</p>
|
||||
<h2>3. How We Use Information</h2>
|
||||
<p>We use information only to:</p>
|
||||
<ul>
|
||||
<li>предоставлять, поддерживать и защищать Rosetta;</li>
|
||||
<li>доставлять зашифрованные сообщения между пользователями;</li>
|
||||
<li>предоставлять загрузки и обновления приложения;</li>
|
||||
<li>выявлять злоупотребления, предотвращать мошенничество и защищать сервис;</li>
|
||||
<li>отвечать на обращения в поддержку;</li>
|
||||
<li>выполнять юридические обязанности.</li>
|
||||
<li>provide, maintain, and secure Rosetta;</li>
|
||||
<li>route encrypted messages between users;</li>
|
||||
<li>deliver app updates and downloads;</li>
|
||||
<li>detect abuse, prevent fraud, and protect service integrity;</li>
|
||||
<li>respond to support requests;</li>
|
||||
<li>comply with legal obligations.</li>
|
||||
</ul>
|
||||
|
||||
<h2>4. Сквозное шифрование</h2>
|
||||
<h2>4. End-to-End Encryption</h2>
|
||||
<p>
|
||||
Rosetta спроектирована так, чтобы содержимое сообщений шифровалось до
|
||||
попадания на наши серверы. Наши серверы не предназначены для доступа к
|
||||
расшифрованному содержимому сообщений или медиа. Сообщения хранятся на
|
||||
устройствах пользователей, а не как читаемая история сообщений на наших
|
||||
серверах.
|
||||
Rosetta is designed so that message content is encrypted before it
|
||||
reaches our servers. Our servers are not intended to have access to
|
||||
decrypted message contents or decrypted media. Messages are stored on
|
||||
users' devices rather than as readable message history on our servers.
|
||||
</p>
|
||||
|
||||
<h2>5. Передача данных третьим лицам</h2>
|
||||
<p>Мы можем передавать ограниченную информацию только:</p>
|
||||
<h2>5. Sharing of Information</h2>
|
||||
<p>We may share limited information only with:</p>
|
||||
<ul>
|
||||
<li>инфраструктурным и хостинг-провайдерам, которые помогают нам работать;</li>
|
||||
<li>профессиональным консультантам, если это необходимо;</li>
|
||||
<li>infrastructure and hosting providers that help us operate Rosetta;</li>
|
||||
<li>professional advisers, if necessary;</li>
|
||||
<li>
|
||||
государственным органам или другим сторонам, если это требуется
|
||||
законом или необходимо для защиты прав, безопасности и целостности
|
||||
сервиса.
|
||||
authorities or other parties when required by law or to protect rights,
|
||||
safety, and security.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>6. Срок хранения</h2>
|
||||
<p>
|
||||
Зашифрованные данные сообщений в процессе доставки обрабатываются только
|
||||
настолько, насколько это необходимо для работы сервиса. Технические
|
||||
журналы и обращения в поддержку хранятся только в течение разумного
|
||||
срока, необходимого для безопасности, надежности, поддержки, юридических
|
||||
и операционных целей.
|
||||
Any service provider that processes user data for us must protect it
|
||||
consistently with this Privacy Policy.
|
||||
</p>
|
||||
|
||||
<h2>7. Ваши права</h2>
|
||||
<h2>6. Retention</h2>
|
||||
<p>
|
||||
В зависимости от вашей юрисдикции вы можете иметь право запросить доступ,
|
||||
исправление, удаление или ограничение обработки персональных данных. Для
|
||||
запроса свяжитесь с нами по адресу admin@rosetta.im.
|
||||
</p>
|
||||
<p>
|
||||
Поскольку Rosetta минимизирует учетные данные и использует
|
||||
криптографические идентификаторы, для некоторых запросов может
|
||||
потребоваться подтверждение контроля над соответствующей учетной записью
|
||||
или ключами.
|
||||
Encrypted message data in transit is processed only as needed to deliver
|
||||
the service. Technical logs and support communications are retained only
|
||||
for as long as reasonably necessary for security, reliability, support,
|
||||
legal, and operational purposes.
|
||||
</p>
|
||||
|
||||
<h2>8. Дети</h2>
|
||||
<h2>7. Your Choices and Rights</h2>
|
||||
<p>
|
||||
Rosetta не предназначена для детей младше 13 лет или минимального
|
||||
возраста, установленного в вашей юрисдикции. Если мы узнаем, что
|
||||
получили персональные данные ребенка без необходимого согласия, мы
|
||||
примем разумные меры для их удаления.
|
||||
Depending on where you live, you may have rights to access, correct,
|
||||
delete, or object to certain processing of your personal information. To
|
||||
make a request, contact us at
|
||||
<a href="mailto:admin@rosetta.im">admin@rosetta.im</a>.
|
||||
</p>
|
||||
<p>
|
||||
Because Rosetta minimizes account data and uses cryptographic
|
||||
identifiers, some requests may require you to provide information that
|
||||
helps us verify control of the relevant account or keys.
|
||||
</p>
|
||||
|
||||
<h2>9. Международная обработка</h2>
|
||||
<h2>8. Children</h2>
|
||||
<p>
|
||||
ROSETTA CLOUD SERVICES LIMITED может обрабатывать информацию в странах,
|
||||
отличных от страны вашего проживания. Когда это требуется, мы применяем
|
||||
соответствующие меры защиты для международной передачи данных.
|
||||
Rosetta is not directed to children under 13, or the minimum age required
|
||||
in your jurisdiction. If we learn that we have collected personal
|
||||
information from a child without required consent, we will take
|
||||
appropriate steps to delete it.
|
||||
</p>
|
||||
|
||||
<h2>10. Безопасность</h2>
|
||||
<h2>9. International Transfers</h2>
|
||||
<p>
|
||||
Мы применяем технические и организационные меры для защиты информации.
|
||||
Ни одна система не является абсолютно безопасной. Пользователь отвечает
|
||||
за защиту своего устройства, приватных ключей и доступа к учетной записи.
|
||||
ROSETTA CLOUD SERVICES LIMITED may process information in countries other
|
||||
than where you live. Where required, we use appropriate safeguards for
|
||||
international transfers.
|
||||
</p>
|
||||
|
||||
<h2>11. Изменения политики</h2>
|
||||
<h2>10. Security</h2>
|
||||
<p>
|
||||
Мы можем обновлять эту Политику конфиденциальности. При существенных
|
||||
изменениях мы обновим дату последнего изменения и, при необходимости,
|
||||
предоставим дополнительное уведомление.
|
||||
We use technical and organizational measures designed to protect
|
||||
information. No system is perfectly secure, and users are responsible for
|
||||
protecting their devices, private keys, and account access.
|
||||
</p>
|
||||
|
||||
<h2>12. Контакты</h2>
|
||||
<h2>11. Changes to This Policy</h2>
|
||||
<p>
|
||||
We may update this Privacy Policy from time to time. If we make material
|
||||
changes, we will update the "Last updated" date and, where appropriate,
|
||||
provide additional notice.
|
||||
</p>
|
||||
|
||||
<h2>12. Contact</h2>
|
||||
<p class="address">ROSETTA CLOUD SERVICES LIMITED
|
||||
Registered address:
|
||||
UNIT 704C 7/F BLK 3 NAN FUNG IND CITY
|
||||
18 TIN HAU RD
|
||||
TUEN MUN
|
||||
HONG KONG</p>
|
||||
<p>Email: <a href="mailto:admin@rosetta.im">admin@rosetta.im</a></p>
|
||||
<p>
|
||||
Email: <a href="mailto:admin@rosetta.im">admin@rosetta.im</a><br />
|
||||
Support: <a href="/support/">https://rosetta.im/support/</a>
|
||||
</p>
|
||||
<p>Phone: <a href="tel:+85228910030">+852 2891 0030</a></p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<footer class="legal-footer">
|
||||
<p>© 2026 ROSETTA CLOUD SERVICES LIMITED</p>
|
||||
<nav aria-label="Footer links">
|
||||
<a href="/">Rosetta home</a>
|
||||
<a href="/support/">Support</a>
|
||||
<a href="/terms/">Terms of Use</a>
|
||||
</nav>
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
BIN
public/rosetta-logo.png
Normal file
BIN
public/rosetta-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
@@ -8,8 +8,26 @@
|
||||
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
|
||||
<url>
|
||||
<loc>https://rosetta.im/</loc>
|
||||
<lastmod>2026-02-16</lastmod>
|
||||
<lastmod>2026-07-11</lastmod>
|
||||
<changefreq>weekly</changefreq>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://rosetta.im/support/</loc>
|
||||
<lastmod>2026-07-11</lastmod>
|
||||
<changefreq>monthly</changefreq>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://rosetta.im/privacy/</loc>
|
||||
<lastmod>2026-07-11</lastmod>
|
||||
<changefreq>yearly</changefreq>
|
||||
<priority>0.5</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://rosetta.im/terms/</loc>
|
||||
<lastmod>2026-07-11</lastmod>
|
||||
<changefreq>yearly</changefreq>
|
||||
<priority>0.5</priority>
|
||||
</url>
|
||||
</urlset>
|
||||
|
||||
778
public/support/index.html
Normal file
778
public/support/index.html
Normal file
@@ -0,0 +1,778 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Rosetta Support</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Contact Rosetta Support for help with account access, recovery phrases, messaging, media, privacy, and security."
|
||||
/>
|
||||
<link rel="canonical" href="https://rosetta.im/support/" />
|
||||
<meta name="robots" content="index, follow" />
|
||||
<meta name="theme-color" content="#0a67ff" />
|
||||
<script>
|
||||
document.documentElement.classList.add("js");
|
||||
</script>
|
||||
<style>
|
||||
:root {
|
||||
color-scheme: light dark;
|
||||
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
||||
color: #172033;
|
||||
background: #f6f8fc;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
background: #f6f8fc;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #075ed3;
|
||||
}
|
||||
|
||||
a:focus-visible {
|
||||
outline: 3px solid #8dc0ff;
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
.page {
|
||||
width: min(1120px, calc(100% - 40px));
|
||||
margin: 0 auto;
|
||||
padding: 24px 0 64px;
|
||||
}
|
||||
|
||||
.js .page > * {
|
||||
opacity: 0;
|
||||
transform: translateY(14px);
|
||||
transition: opacity 420ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
|
||||
}
|
||||
|
||||
.js .page.is-ready > * {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.js .page.is-ready > :nth-child(1) {
|
||||
transition-delay: 0ms;
|
||||
}
|
||||
|
||||
.js .page.is-ready > :nth-child(2) {
|
||||
transition-delay: 45ms;
|
||||
}
|
||||
|
||||
.js .page.is-ready > :nth-child(3) {
|
||||
transition-delay: 90ms;
|
||||
}
|
||||
|
||||
.js .page.is-ready > :nth-child(n + 4) {
|
||||
transition-delay: 130ms;
|
||||
}
|
||||
|
||||
.topbar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.brand {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
color: inherit;
|
||||
font-size: 18px;
|
||||
font-weight: 760;
|
||||
letter-spacing: 0;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.brand-mark {
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.brand-mark img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.home-link {
|
||||
color: #334155;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.hero {
|
||||
max-width: 760px;
|
||||
padding: 88px 0 58px;
|
||||
}
|
||||
|
||||
.eyebrow {
|
||||
margin: 0 0 12px;
|
||||
color: #075ed3;
|
||||
font-size: 14px;
|
||||
font-weight: 750;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
max-width: 650px;
|
||||
margin-bottom: 20px;
|
||||
font-size: clamp(38px, 7vw, 68px);
|
||||
font-weight: 760;
|
||||
letter-spacing: 0;
|
||||
line-height: 1.04;
|
||||
}
|
||||
|
||||
.intro {
|
||||
max-width: 620px;
|
||||
margin-bottom: 28px;
|
||||
color: #4b5568;
|
||||
font-size: clamp(18px, 2.2vw, 21px);
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.contact-button {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 50px;
|
||||
padding: 12px 18px;
|
||||
border-radius: 8px;
|
||||
background: #0a67ff;
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
font-weight: 720;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.contact-button:hover {
|
||||
background: #0055ca;
|
||||
}
|
||||
|
||||
.quick-links {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
gap: 14px;
|
||||
margin-bottom: 72px;
|
||||
}
|
||||
|
||||
.quick-link {
|
||||
display: block;
|
||||
min-height: 138px;
|
||||
padding: 22px;
|
||||
border: 1px solid #dbe2ee;
|
||||
border-radius: 8px;
|
||||
background: #ffffff;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.quick-link:hover {
|
||||
border-color: #a7c9ff;
|
||||
box-shadow: 0 10px 24px rgba(26, 61, 110, 0.08);
|
||||
}
|
||||
|
||||
.quick-link strong {
|
||||
display: block;
|
||||
margin-bottom: 8px;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.quick-link span {
|
||||
color: #64748b;
|
||||
font-size: 15px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.section {
|
||||
padding: 52px 0;
|
||||
border-top: 1px solid #dbe2ee;
|
||||
}
|
||||
|
||||
.section-heading {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
|
||||
gap: 32px;
|
||||
align-items: start;
|
||||
margin-bottom: 28px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-bottom: 0;
|
||||
font-size: clamp(28px, 4vw, 38px);
|
||||
letter-spacing: 0;
|
||||
line-height: 1.12;
|
||||
}
|
||||
|
||||
.section-copy {
|
||||
margin-bottom: 0;
|
||||
color: #526176;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.faq {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
details {
|
||||
display: block;
|
||||
box-sizing: border-box;
|
||||
padding: 19px 20px;
|
||||
border: 1px solid #dbe2ee;
|
||||
border-radius: 8px;
|
||||
background: #ffffff;
|
||||
overflow: hidden;
|
||||
transition: border-color 180ms ease, background-color 180ms ease;
|
||||
}
|
||||
|
||||
details[open] {
|
||||
border-color: #b8cce8;
|
||||
background: #f9fbff;
|
||||
}
|
||||
|
||||
details.is-animating {
|
||||
will-change: height;
|
||||
}
|
||||
|
||||
summary {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) 36px;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
min-height: 28px;
|
||||
cursor: pointer;
|
||||
color: #1d293d;
|
||||
font-size: 17px;
|
||||
font-weight: 710;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
summary::-webkit-details-marker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
summary::marker {
|
||||
content: "";
|
||||
}
|
||||
|
||||
.faq-toggle {
|
||||
display: grid;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
place-items: center;
|
||||
justify-self: end;
|
||||
border: 1px solid #c3d5ed;
|
||||
border-radius: 50%;
|
||||
background: #f3f8ff;
|
||||
color: #075ed3;
|
||||
transition: background-color 180ms ease, border-color 180ms ease;
|
||||
}
|
||||
|
||||
.faq-toggle svg {
|
||||
display: block;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
stroke: currentColor;
|
||||
stroke-width: 2.4;
|
||||
stroke-linecap: round;
|
||||
stroke-linejoin: round;
|
||||
transform: translateZ(0) rotate(0deg);
|
||||
will-change: transform;
|
||||
transition: transform 240ms cubic-bezier(0.25, 0.1, 0.25, 1);
|
||||
}
|
||||
|
||||
details[open] .faq-toggle {
|
||||
border-color: #78a8df;
|
||||
background: #deedff;
|
||||
}
|
||||
|
||||
details[open] .faq-toggle svg {
|
||||
transform: translateZ(0) rotate(180deg);
|
||||
}
|
||||
|
||||
summary:focus-visible {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
summary:focus-visible .faq-toggle {
|
||||
box-shadow: 0 0 0 3px #8cbeff;
|
||||
}
|
||||
|
||||
details > p {
|
||||
display: block;
|
||||
margin: 0 40px 0 0;
|
||||
color: #526176;
|
||||
font-size: 15px;
|
||||
opacity: 0;
|
||||
transform: translateY(-3px);
|
||||
transition: opacity 160ms ease, transform 220ms cubic-bezier(0.25, 0.1, 0.25, 1);
|
||||
}
|
||||
|
||||
details:not([open]) > p {
|
||||
display: none;
|
||||
}
|
||||
|
||||
details[open] > p {
|
||||
margin: 14px 40px 0 0;
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
details.is-closing > p {
|
||||
margin: 0 40px 0 0;
|
||||
opacity: 0;
|
||||
transform: translateY(-3px);
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.js .page > * {
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
details,
|
||||
.faq-toggle,
|
||||
.faq-toggle svg,
|
||||
details > p {
|
||||
transition: none;
|
||||
}
|
||||
}
|
||||
|
||||
.contact-panel {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1.1fr) minmax(240px, 0.9fr);
|
||||
gap: 28px;
|
||||
padding: 32px;
|
||||
border-radius: 8px;
|
||||
background: #0e1e39;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.contact-panel h2 {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.contact-panel p {
|
||||
max-width: 580px;
|
||||
margin-bottom: 0;
|
||||
color: #cbd7ed;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.contact-details {
|
||||
align-self: center;
|
||||
padding: 20px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.18);
|
||||
border-radius: 8px;
|
||||
background: rgba(255, 255, 255, 0.07);
|
||||
}
|
||||
|
||||
.contact-details strong,
|
||||
.contact-details a {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.contact-details strong {
|
||||
margin-bottom: 6px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.contact-details a {
|
||||
color: #ffffff;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
overflow-wrap: anywhere;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.legal-links {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 18px;
|
||||
padding-top: 32px;
|
||||
}
|
||||
|
||||
.legal-links a {
|
||||
color: #526176;
|
||||
font-size: 15px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@media (max-width: 720px) {
|
||||
.page {
|
||||
width: min(100% - 32px, 1120px);
|
||||
padding-top: 16px;
|
||||
}
|
||||
|
||||
.hero {
|
||||
padding: 64px 0 42px;
|
||||
}
|
||||
|
||||
.quick-links,
|
||||
.faq,
|
||||
.section-heading,
|
||||
.contact-panel {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.quick-links {
|
||||
margin-bottom: 52px;
|
||||
}
|
||||
|
||||
.section {
|
||||
padding: 40px 0;
|
||||
}
|
||||
|
||||
.contact-panel {
|
||||
gap: 20px;
|
||||
padding: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
color: #eff4ff;
|
||||
background: #0c111a;
|
||||
}
|
||||
|
||||
body {
|
||||
background: #0c111a;
|
||||
}
|
||||
|
||||
a,
|
||||
.eyebrow {
|
||||
color: #72afff;
|
||||
}
|
||||
|
||||
.home-link,
|
||||
.quick-link,
|
||||
summary {
|
||||
color: #eef4ff;
|
||||
}
|
||||
|
||||
.faq-toggle {
|
||||
color: #ffffff;
|
||||
border-color: #354c6d;
|
||||
background: #1d2b3f;
|
||||
}
|
||||
|
||||
details[open] .faq-toggle {
|
||||
border-color: #5e92ca;
|
||||
background: #29466c;
|
||||
}
|
||||
|
||||
.intro,
|
||||
.section-copy,
|
||||
.quick-link span,
|
||||
details p,
|
||||
.legal-links a {
|
||||
color: #aab8cf;
|
||||
}
|
||||
|
||||
.quick-link,
|
||||
details {
|
||||
border-color: #29354a;
|
||||
background: #141c29;
|
||||
}
|
||||
|
||||
details[open] {
|
||||
border-color: #3c608b;
|
||||
background: #18263a;
|
||||
}
|
||||
|
||||
.quick-link:hover {
|
||||
border-color: #427fc7;
|
||||
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.section {
|
||||
border-color: #29354a;
|
||||
}
|
||||
|
||||
.contact-button {
|
||||
background: #3986ff;
|
||||
}
|
||||
|
||||
.contact-button:hover {
|
||||
background: #5b9bff;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<main class="page">
|
||||
<header class="topbar">
|
||||
<a class="brand" href="/" aria-label="Rosetta home">
|
||||
<span class="brand-mark"><img src="/rosetta-logo.png" alt="" /></span>
|
||||
Rosetta
|
||||
</a>
|
||||
<a class="home-link" href="/">Back to home</a>
|
||||
</header>
|
||||
|
||||
<section class="hero" aria-labelledby="support-title">
|
||||
<p class="eyebrow">Rosetta Support</p>
|
||||
<h1 id="support-title">Help with your Rosetta account and messages.</h1>
|
||||
<p class="intro">
|
||||
Find answers about account access, recovery phrases, private messaging,
|
||||
shared media, and privacy. For anything else, contact our support team.
|
||||
</p>
|
||||
<a class="contact-button" href="mailto:admin@rosetta.im?subject=Rosetta%20Support%20Request">
|
||||
Email Rosetta Support
|
||||
</a>
|
||||
</section>
|
||||
|
||||
<nav class="quick-links" aria-label="Support topics">
|
||||
<a class="quick-link" href="#account">
|
||||
<strong>Account and access</strong>
|
||||
<span>Recovery phrases, device access, and account security.</span>
|
||||
</a>
|
||||
<a class="quick-link" href="#messaging">
|
||||
<strong>Messaging and media</strong>
|
||||
<span>Messages, photos, videos, files, voice messages, and groups.</span>
|
||||
</a>
|
||||
<a class="quick-link" href="#privacy">
|
||||
<strong>Privacy and safety</strong>
|
||||
<span>Security questions, privacy information, and abuse reports.</span>
|
||||
</a>
|
||||
</nav>
|
||||
|
||||
<section class="section" id="account" aria-labelledby="account-heading">
|
||||
<div class="section-heading">
|
||||
<h2 id="account-heading">Account and access</h2>
|
||||
<p class="section-copy">
|
||||
Rosetta accounts are accessed with a recovery phrase instead of a phone number.
|
||||
Keep your phrase private and stored somewhere safe.
|
||||
</p>
|
||||
</div>
|
||||
<div class="faq">
|
||||
<details>
|
||||
<summary><span>How do I access my account on a new device?</span><span class="faq-toggle" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none"><path d="m6 9 6 6 6-6" /></svg></span></summary>
|
||||
<p>
|
||||
Install Rosetta and enter your recovery phrase in the exact order it was created.
|
||||
Rosetta may ask you to confirm a new device to protect your account.
|
||||
</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary><span>I lost my recovery phrase. Can it be restored?</span><span class="faq-toggle" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none"><path d="m6 9 6 6 6-6" /></svg></span></summary>
|
||||
<p>
|
||||
No. Your recovery phrase is the key to your account. Rosetta cannot recover it
|
||||
for you, so keep it private and backed up before you need it.
|
||||
</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary><span>Why am I asked to confirm a new device?</span><span class="faq-toggle" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none"><path d="m6 9 6 6 6-6" /></svg></span></summary>
|
||||
<p>
|
||||
New-device confirmation helps prevent someone who has obtained a recovery phrase
|
||||
from silently accessing your account on another device.
|
||||
</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary><span>How do I report an account-access problem?</span><span class="faq-toggle" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none"><path d="m6 9 6 6 6-6" /></svg></span></summary>
|
||||
<p>
|
||||
Email us with the device model, Rosetta version, and a short description of what
|
||||
happened. Do not include your recovery phrase or private keys.
|
||||
</p>
|
||||
</details>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section" id="messaging" aria-labelledby="messaging-heading">
|
||||
<div class="section-heading">
|
||||
<h2 id="messaging-heading">Messaging and media</h2>
|
||||
<p class="section-copy">
|
||||
Rosetta supports private chats, groups, photos, videos, files, and voice messages.
|
||||
Attachment choices can vary depending on your device permissions and the selected item.
|
||||
</p>
|
||||
</div>
|
||||
<div class="faq">
|
||||
<details>
|
||||
<summary><span>How do I send a photo, video, or file?</span><span class="faq-toggle" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none"><path d="m6 9 6 6 6-6" /></svg></span></summary>
|
||||
<p>
|
||||
Open a chat, tap the attachment button next to the message field, choose the item
|
||||
you want to share, then send it. Allow Photos or Files access when iOS asks for it.
|
||||
</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary><span>Why is an attachment still sending?</span><span class="faq-toggle" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none"><path d="m6 9 6 6 6-6" /></svg></span></summary>
|
||||
<p>
|
||||
Media uploads depend on the file size and your connection. Keep Rosetta open and
|
||||
connected until the send indicator completes. You can retry a message that failed.
|
||||
</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary><span>How do I send a voice message?</span><span class="faq-toggle" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none"><path d="m6 9 6 6 6-6" /></svg></span></summary>
|
||||
<p>
|
||||
In a chat, press and hold the microphone control to record, then release it to send.
|
||||
Microphone permission is required the first time you record.
|
||||
</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary><span>How do I get help with a group?</span><span class="faq-toggle" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none"><path d="m6 9 6 6 6-6" /></svg></span></summary>
|
||||
<p>
|
||||
Contact us with the group name and a description of the issue. Do not send private
|
||||
recovery phrases, message contents, or encryption keys.
|
||||
</p>
|
||||
</details>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section" id="privacy" aria-labelledby="privacy-heading">
|
||||
<div class="section-heading">
|
||||
<h2 id="privacy-heading">Privacy and safety</h2>
|
||||
<p class="section-copy">
|
||||
Rosetta is designed for private communication. If you have a security concern or a
|
||||
question about data handling, contact us directly.
|
||||
</p>
|
||||
</div>
|
||||
<div class="faq">
|
||||
<details>
|
||||
<summary><span>How is message content protected?</span><span class="faq-toggle" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none"><path d="m6 9 6 6 6-6" /></svg></span></summary>
|
||||
<p>
|
||||
Rosetta is designed to encrypt message content before it is sent. For details about
|
||||
how we handle data, read the Rosetta Privacy Policy.
|
||||
</p>
|
||||
</details>
|
||||
<details>
|
||||
<summary><span>How do I report abuse or a security issue?</span><span class="faq-toggle" aria-hidden="true"><svg viewBox="0 0 24 24" fill="none"><path d="m6 9 6 6 6-6" /></svg></span></summary>
|
||||
<p>
|
||||
Email <a href="mailto:admin@rosetta.im?subject=Rosetta%20Security%20Report">admin@rosetta.im</a>
|
||||
with a description of the concern. Do not include recovery phrases or private keys.
|
||||
</p>
|
||||
</details>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="contact-panel" aria-labelledby="contact-heading">
|
||||
<div>
|
||||
<h2 id="contact-heading">Need more help?</h2>
|
||||
<p>
|
||||
Send us a message with your device model, app version, and a short explanation of the
|
||||
issue. Never send a recovery phrase, private key, or private message content.
|
||||
</p>
|
||||
</div>
|
||||
<div class="contact-details">
|
||||
<strong>Rosetta Support</strong>
|
||||
<a href="mailto:admin@rosetta.im?subject=Rosetta%20Support%20Request">admin@rosetta.im</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<footer class="legal-links">
|
||||
<a href="/">Rosetta home</a>
|
||||
<a href="/privacy/">Privacy Policy</a>
|
||||
<a href="/terms/">Terms of Use</a>
|
||||
</footer>
|
||||
</main>
|
||||
<script>
|
||||
window.addEventListener("DOMContentLoaded", () => {
|
||||
requestAnimationFrame(() => {
|
||||
document.querySelector(".page")?.classList.add("is-ready");
|
||||
});
|
||||
|
||||
const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
||||
const animationOptions = {
|
||||
duration: 240,
|
||||
easing: "cubic-bezier(0.25, 0.1, 0.25, 1)",
|
||||
fill: "forwards",
|
||||
};
|
||||
|
||||
document.querySelectorAll(".faq details").forEach((details) => {
|
||||
const summary = details.querySelector("summary");
|
||||
if (!summary) return;
|
||||
|
||||
let animation = null;
|
||||
const setExpanded = (expanded) => summary.setAttribute("aria-expanded", String(expanded));
|
||||
|
||||
setExpanded(details.open);
|
||||
|
||||
summary.addEventListener("click", (event) => {
|
||||
event.preventDefault();
|
||||
|
||||
if (animation) return;
|
||||
|
||||
if (prefersReducedMotion) {
|
||||
details.open = !details.open;
|
||||
setExpanded(details.open);
|
||||
return;
|
||||
}
|
||||
|
||||
const isOpening = !details.open;
|
||||
const startHeight = details.getBoundingClientRect().height;
|
||||
|
||||
if (isOpening) {
|
||||
details.open = true;
|
||||
setExpanded(true);
|
||||
const endHeight = details.scrollHeight;
|
||||
|
||||
details.classList.add("is-animating");
|
||||
details.style.height = `${startHeight}px`;
|
||||
animation = details.animate(
|
||||
[{ height: `${startHeight}px` }, { height: `${endHeight}px` }],
|
||||
animationOptions,
|
||||
);
|
||||
} else {
|
||||
details.open = false;
|
||||
const endHeight = details.getBoundingClientRect().height;
|
||||
details.open = true;
|
||||
details.classList.add("is-animating", "is-closing");
|
||||
details.style.height = `${startHeight}px`;
|
||||
animation = details.animate(
|
||||
[{ height: `${startHeight}px` }, { height: `${endHeight}px` }],
|
||||
animationOptions,
|
||||
);
|
||||
}
|
||||
|
||||
animation.onfinish = () => {
|
||||
const completedAnimation = animation;
|
||||
|
||||
if (!isOpening) {
|
||||
details.open = false;
|
||||
setExpanded(false);
|
||||
}
|
||||
|
||||
details.style.height = "";
|
||||
details.classList.remove("is-animating", "is-closing");
|
||||
completedAnimation.oncancel = null;
|
||||
completedAnimation.cancel();
|
||||
animation = null;
|
||||
};
|
||||
|
||||
animation.oncancel = () => {
|
||||
details.style.height = "";
|
||||
details.classList.remove("is-animating", "is-closing");
|
||||
animation = null;
|
||||
};
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,12 +1,12 @@
|
||||
<!doctype html>
|
||||
<html lang="ru">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Условия использования Rosetta</title>
|
||||
<title>Terms of Use for Rosetta</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Условия использования и лицензионное соглашение Rosetta для приложения ROSETTA CLOUD SERVICES LIMITED."
|
||||
content="Terms of Use and End User License Agreement for Rosetta by ROSETTA CLOUD SERVICES LIMITED."
|
||||
/>
|
||||
<link rel="canonical" href="https://rosetta.im/terms/" />
|
||||
<style>
|
||||
@@ -79,175 +79,192 @@
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="/legal.css" />
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<a class="back" href="/">← На главную</a>
|
||||
<h1>Условия использования Rosetta</h1>
|
||||
<p class="muted">Дата последнего обновления: 22 мая 2026 года</p>
|
||||
<main class="page">
|
||||
<header class="topbar">
|
||||
<a class="brand" href="/" aria-label="Rosetta home">
|
||||
<span class="brand-mark"><img src="/rosetta-logo.png" alt="" /></span>
|
||||
Rosetta
|
||||
</a>
|
||||
<nav aria-label="Legal pages">
|
||||
<a href="/support/">Support</a>
|
||||
<a href="/privacy/">Privacy</a>
|
||||
<a href="/terms/" aria-current="page">Terms</a>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<p>
|
||||
Эти Условия использования и лицензионное соглашение конечного
|
||||
пользователя ("Условия") регулируют использование Rosetta, приложения для
|
||||
обмена сообщениями со сквозным шифрованием, которым управляет ROSETTA
|
||||
CLOUD SERVICES LIMITED ("Rosetta", "мы", "нас" или "наш").
|
||||
<article class="document">
|
||||
<header class="document-header">
|
||||
<p class="eyebrow">Rosetta legal</p>
|
||||
<h1>Terms of Use</h1>
|
||||
<p class="updated">Last updated: May 22, 2026</p>
|
||||
</header>
|
||||
|
||||
<div class="document-content">
|
||||
|
||||
<p class="lead">
|
||||
These Terms of Use and End User License Agreement ("Terms") govern your
|
||||
use of Rosetta, an end-to-end encrypted messaging application operated by
|
||||
ROSETTA CLOUD SERVICES LIMITED ("Rosetta", "we", "us", or "our").
|
||||
</p>
|
||||
<p>
|
||||
Скачивая, устанавливая или используя Rosetta, вы соглашаетесь с этими
|
||||
Условиями.
|
||||
By downloading, installing, or using Rosetta, you agree to these Terms.
|
||||
</p>
|
||||
|
||||
<h2>1. Соглашение между вами и Rosetta</h2>
|
||||
<h2>1. Agreement Between You and Rosetta</h2>
|
||||
<p>
|
||||
Эти Условия заключаются между вами и ROSETTA CLOUD SERVICES LIMITED, а не
|
||||
с Apple. Мы, а не Apple, несем ответственность за Rosetta и его
|
||||
содержимое.
|
||||
These Terms are concluded between you and ROSETTA CLOUD SERVICES LIMITED
|
||||
only, and not with Apple. We, not Apple, are solely responsible for
|
||||
Rosetta and its content.
|
||||
</p>
|
||||
|
||||
<h2>2. Лицензия</h2>
|
||||
<h2>2. License</h2>
|
||||
<p>
|
||||
Мы предоставляем вам ограниченную, неисключительную, непередаваемую и
|
||||
отзывную лицензию на использование Rosetta для личного или законного
|
||||
делового общения на устройствах Apple, которыми вы владеете или
|
||||
управляете, в соответствии с Apple Media Services Terms and Conditions,
|
||||
включая применимые правила Family Sharing и volume purchasing.
|
||||
We grant you a limited, non-exclusive, non-transferable, revocable
|
||||
license to use Rosetta for personal or lawful business communication on
|
||||
Apple-branded products that you own or control, as permitted by the Apple
|
||||
Media Services Terms and Conditions, including applicable Family Sharing,
|
||||
volume purchasing, or Legacy Contacts rules.
|
||||
</p>
|
||||
<p>
|
||||
Вы не вправе копировать, изменять, осуществлять reverse engineering,
|
||||
декомпилировать, перепродавать, сублицензировать, сдавать в аренду или
|
||||
распространять Rosetta, кроме случаев, разрешенных применимым законом.
|
||||
You may not copy, modify, reverse engineer, decompile, resell,
|
||||
sublicense, rent, lease, or distribute Rosetta except as permitted by
|
||||
applicable law.
|
||||
</p>
|
||||
|
||||
<h2>3. Конфиденциальность</h2>
|
||||
<h2>3. Privacy</h2>
|
||||
<p>
|
||||
Использование Rosetta также регулируется нашей Политикой
|
||||
конфиденциальности: <a href="/privacy/">https://rosetta.im/privacy/</a>.
|
||||
Your use of Rosetta is also governed by our Privacy Policy, available at
|
||||
<a href="/privacy/">https://rosetta.im/privacy/</a>.
|
||||
</p>
|
||||
|
||||
<h2>4. Зашифрованные сообщения</h2>
|
||||
<h2>4. Encrypted Messaging</h2>
|
||||
<p>
|
||||
Rosetta предназначена для end-to-end encrypted коммуникации. Вы отвечаете
|
||||
за защиту своего устройства, приватных ключей и доступа к учетной записи.
|
||||
Если вы потеряете доступ к устройству или ключам, мы можем не иметь
|
||||
возможности восстановить ваши сообщения или учетные данные.
|
||||
Rosetta is designed for end-to-end encrypted communication. You are
|
||||
responsible for protecting your device, private keys, and access
|
||||
credentials. If you lose access to your device or keys, we may not be
|
||||
able to restore your messages or account data.
|
||||
</p>
|
||||
|
||||
<h2>5. Допустимое использование</h2>
|
||||
<p>Вы соглашаетесь не использовать Rosetta для:</p>
|
||||
<h2>5. Acceptable Use</h2>
|
||||
<p>You agree not to use Rosetta to:</p>
|
||||
<ul>
|
||||
<li>нарушения законов или нормативных требований;</li>
|
||||
<li>нарушения прав других лиц;</li>
|
||||
<li>отправки спама, вредоносного ПО, мошеннических сообщений, угроз, домогательств или незаконного контента;</li>
|
||||
<li>попыток нарушить работу, перегрузить, скомпрометировать или исследовать инфраструктуру Rosetta неразрешенными способами;</li>
|
||||
<li>выдачи себя за другое лицо или искажения своей личности;</li>
|
||||
<li>любой запрещенной или санкционной деятельности.</li>
|
||||
<li>violate any law or regulation;</li>
|
||||
<li>infringe the rights of others;</li>
|
||||
<li>send spam, malware, scams, threats, harassment, or unlawful content;</li>
|
||||
<li>
|
||||
attempt to disrupt, overload, reverse engineer, or compromise Rosetta
|
||||
or its infrastructure;
|
||||
</li>
|
||||
<li>impersonate another person or misrepresent your identity;</li>
|
||||
<li>use Rosetta for any prohibited or sanctioned activity.</li>
|
||||
</ul>
|
||||
|
||||
<h2>6. Не для экстренной связи</h2>
|
||||
<h2>6. No Emergency Use</h2>
|
||||
<p>
|
||||
Rosetta не предназначена для экстренных звонков, экстренных сообщений или
|
||||
коммуникации, где сбой или задержка могут привести к смерти, травме или
|
||||
серьезному ущербу. В экстренных ситуациях используйте официальные каналы
|
||||
связи.
|
||||
Rosetta is not designed for emergency calls, emergency messaging, or
|
||||
communications where failure or delay could cause death, personal injury,
|
||||
or serious damage. Use official emergency channels when needed.
|
||||
</p>
|
||||
|
||||
<h2>7. Пользовательский контент</h2>
|
||||
<h2>7. User Content</h2>
|
||||
<p>
|
||||
Вы сохраняете права на контент, который создаете или отправляете через
|
||||
Rosetta. Вы предоставляете нам только ограниченные права, необходимые для
|
||||
работы сервиса, например для маршрутизации зашифрованных сообщений и
|
||||
поддержания безопасности сервиса. Мы не заявляем права собственности на
|
||||
ваши сообщения или файлы.
|
||||
You retain ownership of the content you create or send through Rosetta.
|
||||
You grant us the limited rights necessary to operate the service, such as
|
||||
routing encrypted messages and maintaining service security. We do not
|
||||
claim ownership of your messages or files.
|
||||
</p>
|
||||
|
||||
<h2>8. Обновления и доступность</h2>
|
||||
<h2>8. Updates and Availability</h2>
|
||||
<p>
|
||||
Мы можем обновлять, изменять, приостанавливать или прекращать работу
|
||||
Rosetta или отдельных функций. Некоторые функции могут требовать
|
||||
подключения к интернету, совместимого устройства и поддерживаемой
|
||||
операционной системы.
|
||||
We may update, modify, suspend, or discontinue Rosetta or parts of the
|
||||
service at any time. Some features may require an internet connection or
|
||||
a compatible device and operating system.
|
||||
</p>
|
||||
|
||||
<h2>9. Платежи</h2>
|
||||
<h2>9. Fees</h2>
|
||||
<p>
|
||||
Rosetta в настоящее время предоставляется бесплатно, если явно не указано
|
||||
иное. Если в будущем появятся платные функции, подписки или покупки через
|
||||
Apple, будут применяться платежные и подписочные правила Apple.
|
||||
Rosetta is currently offered as a free application unless stated
|
||||
otherwise. If paid features, subscriptions, or in-app purchases are
|
||||
introduced through Apple, Apple's payment and subscription terms will
|
||||
apply.
|
||||
</p>
|
||||
|
||||
<h2>10. Поддержка и обслуживание</h2>
|
||||
<h2>10. Maintenance and Support</h2>
|
||||
<p>
|
||||
ROSETTA CLOUD SERVICES LIMITED несет единоличную ответственность за
|
||||
поддержку и обслуживание Rosetta. Apple не обязана предоставлять
|
||||
поддержку или обслуживание Rosetta.
|
||||
ROSETTA CLOUD SERVICES LIMITED is solely responsible for providing
|
||||
maintenance and support for Rosetta. Apple has no obligation to provide
|
||||
maintenance or support services for Rosetta.
|
||||
</p>
|
||||
<p>Контакт поддержки: <a href="mailto:admin@rosetta.im">admin@rosetta.im</a></p>
|
||||
|
||||
<h2>11. Гарантия</h2>
|
||||
<p>
|
||||
Rosetta предоставляется "как есть" и "по доступности" в максимальной
|
||||
степени, разрешенной законом. Если Rosetta не соответствует применимой
|
||||
гарантии, вы можете уведомить Apple, и Apple может вернуть цену покупки,
|
||||
если она была уплачена. В максимальной степени, разрешенной законом,
|
||||
Apple не несет иных гарантийных обязательств в отношении Rosetta.
|
||||
Support contact: <a href="mailto:admin@rosetta.im">admin@rosetta.im</a><br />
|
||||
Support centre: <a href="/support/">https://rosetta.im/support/</a>
|
||||
</p>
|
||||
|
||||
<h2>12. Претензии по продукту</h2>
|
||||
<h2>11. Warranty</h2>
|
||||
<p>
|
||||
ROSETTA CLOUD SERVICES LIMITED, а не Apple, отвечает за рассмотрение
|
||||
претензий, связанных с Rosetta, включая претензии по ответственности за
|
||||
продукт, юридические или регуляторные претензии, а также претензии по
|
||||
законам о защите прав потребителей.
|
||||
Rosetta is provided "as is" and "as available" to the maximum extent
|
||||
permitted by law. If Rosetta fails to conform to any applicable warranty,
|
||||
you may notify Apple, and Apple may refund the purchase price, if any,
|
||||
for the app. To the maximum extent permitted by law, Apple has no other
|
||||
warranty obligation for Rosetta.
|
||||
</p>
|
||||
|
||||
<h2>13. Претензии по интеллектуальной собственности</h2>
|
||||
<h2>12. Product Claims</h2>
|
||||
<p>
|
||||
Если третья сторона заявляет, что Rosetta или ваше использование Rosetta
|
||||
нарушает права интеллектуальной собственности, ROSETTA CLOUD SERVICES
|
||||
LIMITED, а не Apple, отвечает за расследование, защиту, урегулирование и
|
||||
прекращение такой претензии.
|
||||
ROSETTA CLOUD SERVICES LIMITED, not Apple, is responsible for addressing
|
||||
any claims relating to Rosetta, including product liability claims, legal
|
||||
or regulatory claims, and claims under consumer protection or similar
|
||||
laws.
|
||||
</p>
|
||||
|
||||
<h2>14. Соблюдение законов</h2>
|
||||
<h2>13. Intellectual Property Claims</h2>
|
||||
<p>
|
||||
Вы подтверждаете, что не находитесь в стране, на которую распространяется
|
||||
эмбарго правительства США или которая определена правительством США как
|
||||
страна, поддерживающая терроризм, и что вы не включены в списки
|
||||
запрещенных или ограниченных лиц правительства США.
|
||||
If a third party claims that Rosetta or your use of Rosetta infringes
|
||||
intellectual property rights, ROSETTA CLOUD SERVICES LIMITED, not Apple,
|
||||
is responsible for the investigation, defense, settlement, and discharge
|
||||
of that claim.
|
||||
</p>
|
||||
|
||||
<h2>15. Apple как третья сторона-бенефициар</h2>
|
||||
<h2>14. Legal Compliance</h2>
|
||||
<p>
|
||||
Apple и дочерние компании Apple являются третьими сторонами-бенефициарами
|
||||
этих Условий. После принятия вами Условий Apple получает право
|
||||
обеспечивать исполнение этих Условий против вас как третья
|
||||
сторона-бенефициар.
|
||||
You represent that you are not located in a country subject to a U.S.
|
||||
Government embargo or designated by the U.S. Government as a "terrorist
|
||||
supporting" country, and that you are not listed on any U.S. Government
|
||||
list of prohibited or restricted parties.
|
||||
</p>
|
||||
|
||||
<h2>16. Прекращение доступа</h2>
|
||||
<h2>15. Third-Party Beneficiary</h2>
|
||||
<p>
|
||||
Мы можем приостановить или прекратить доступ к Rosetta, если вы нарушаете
|
||||
эти Условия, создаете риск для других пользователей или используете
|
||||
сервис незаконно. Вы можете прекратить использование Rosetta в любое
|
||||
время.
|
||||
Apple and Apple's subsidiaries are third-party beneficiaries of these
|
||||
Terms. Upon your acceptance of these Terms, Apple has the right to
|
||||
enforce these Terms against you as a third-party beneficiary.
|
||||
</p>
|
||||
|
||||
<h2>17. Ограничение ответственности</h2>
|
||||
<h2>16. Termination</h2>
|
||||
<p>
|
||||
В максимальной степени, разрешенной законом, ROSETTA CLOUD SERVICES
|
||||
LIMITED не несет ответственности за косвенные, случайные, специальные,
|
||||
последующие или штрафные убытки, а также за потерю данных, прибыли,
|
||||
деловой репутации или коммерческих возможностей, связанных с
|
||||
использованием Rosetta.
|
||||
We may suspend or terminate access to Rosetta if you violate these Terms,
|
||||
create risk for other users, or use the service unlawfully. You may stop
|
||||
using Rosetta at any time.
|
||||
</p>
|
||||
|
||||
<h2>18. Применимое право</h2>
|
||||
<h2>17. Limitation of Liability</h2>
|
||||
<p>
|
||||
Эти Условия регулируются законодательством Гонконга, если обязательные
|
||||
нормы защиты потребителей в вашей юрисдикции не требуют иного.
|
||||
To the maximum extent permitted by law, ROSETTA CLOUD SERVICES LIMITED
|
||||
will not be liable for indirect, incidental, special, consequential, or
|
||||
punitive damages, or for loss of data, profits, goodwill, or business
|
||||
opportunities arising from your use of Rosetta.
|
||||
</p>
|
||||
|
||||
<h2>19. Контакты</h2>
|
||||
<h2>18. Governing Law</h2>
|
||||
<p>
|
||||
These Terms are governed by the laws of Hong Kong, unless local consumer
|
||||
protection law requires otherwise.
|
||||
</p>
|
||||
|
||||
<h2>19. Contact</h2>
|
||||
<p class="address">ROSETTA CLOUD SERVICES LIMITED
|
||||
Registered address:
|
||||
UNIT 704C 7/F BLK 3 NAN FUNG IND CITY
|
||||
@@ -256,6 +273,17 @@ TUEN MUN
|
||||
HONG KONG</p>
|
||||
<p>Email: <a href="mailto:admin@rosetta.im">admin@rosetta.im</a></p>
|
||||
<p>Phone: <a href="tel:+85228910030">+852 2891 0030</a></p>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<footer class="legal-footer">
|
||||
<p>© 2026 ROSETTA CLOUD SERVICES LIMITED</p>
|
||||
<nav aria-label="Footer links">
|
||||
<a href="/">Rosetta home</a>
|
||||
<a href="/support/">Support</a>
|
||||
<a href="/privacy/">Privacy Policy</a>
|
||||
</nav>
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -5,13 +5,12 @@ import {
|
||||
Flex,
|
||||
Text,
|
||||
Title,
|
||||
useComputedColorScheme,
|
||||
useMantineTheme,
|
||||
} from '@mantine/core';
|
||||
import classes from './DownloadCenter.module.css';
|
||||
import { RosettaLogo } from '../RosettaLogo/RosettaLogo';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { FaApple, FaWindows } from 'react-icons/fa';
|
||||
import { FaWindows } from 'react-icons/fa';
|
||||
import { FcAndroidOs, FcLinux } from 'react-icons/fc';
|
||||
import { Switch } from '../Switch/Switch';
|
||||
import { IconDownload } from '@tabler/icons-react';
|
||||
@@ -41,7 +40,7 @@ const fetchUpdates = async (): Promise<DownloadFeature[]> => {
|
||||
version: item.version,
|
||||
link: new URL(item.downloadUrl, 'https://sdu.rosetta.im').toString(),
|
||||
})).sort((a, b) => {
|
||||
const platformOrder = ['darwin', 'linux', 'win32', 'android'];
|
||||
const platformOrder = ['linux', 'win32', 'android'];
|
||||
const archOrder = ['arm64', 'x64', 'universal']
|
||||
const platformComparison = platformOrder.indexOf(a.platform) - platformOrder.indexOf(b.platform);
|
||||
if (platformComparison !== 0) {
|
||||
@@ -57,9 +56,8 @@ const fetchUpdates = async (): Promise<DownloadFeature[]> => {
|
||||
|
||||
export function DownloadCenter() {
|
||||
const theme = useMantineTheme();
|
||||
const colorScheme = useComputedColorScheme();
|
||||
const [kernels, setKernels] = useState<DownloadFeature[]>([]);
|
||||
const [targetPlatforms, setTargetPlatforms] = useState<string[]>(['darwin', 'linux', 'win32', 'android']);
|
||||
const [targetPlatforms, setTargetPlatforms] = useState<string[]>(['linux', 'win32', 'android']);
|
||||
|
||||
useEffect(() => {
|
||||
fetchUpdates().then(setKernels);
|
||||
@@ -69,14 +67,11 @@ export function DownloadCenter() {
|
||||
let targetPlatforms: string[] = [];
|
||||
switch(value){
|
||||
case 'All':
|
||||
targetPlatforms = ['darwin', 'linux', 'win32', 'android'];
|
||||
targetPlatforms = ['linux', 'win32', 'android'];
|
||||
break;
|
||||
case 'Windows':
|
||||
targetPlatforms = ['win32'];
|
||||
break;
|
||||
case 'macOS':
|
||||
targetPlatforms = ['darwin'];
|
||||
break;
|
||||
case 'Android':
|
||||
targetPlatforms = ['android'];
|
||||
break;
|
||||
@@ -89,8 +84,6 @@ export function DownloadCenter() {
|
||||
|
||||
const translatePlatformToOsName = (platform: string) => {
|
||||
switch(platform){
|
||||
case 'darwin':
|
||||
return 'macOS';
|
||||
case 'linux':
|
||||
return 'Linux';
|
||||
case 'win32':
|
||||
@@ -104,8 +97,6 @@ export function DownloadCenter() {
|
||||
|
||||
const translatePlatformAndArchToCpuName = (platform : string, arch: string) => {
|
||||
switch(platform){
|
||||
case 'darwin':
|
||||
return arch === 'arm64' ? 'Apple Silicon' : 'Intel';
|
||||
case 'linux':
|
||||
return arch === 'arm64' ? 'ARM64' : 'x64';
|
||||
case 'win32':
|
||||
@@ -121,9 +112,6 @@ export function DownloadCenter() {
|
||||
const features = kernels.filter((v) => targetPlatforms.includes(v.platform)).map((feature) => (
|
||||
<Card key={feature.link} radius="md" className={classes.card} padding="xl">
|
||||
<Flex direction={'column'} align="center" justify={'center'}>
|
||||
{feature.platform === 'darwin' && <FaApple size={50} color={
|
||||
colorScheme == 'dark' ? 'white' : 'black'
|
||||
} />}
|
||||
{feature.platform === 'linux' && <FcLinux size={50} />}
|
||||
{feature.platform === 'win32' && <FaWindows size={50} color={theme.colors.blue[6]} />}
|
||||
{feature.platform === 'android' && <FcAndroidOs size={50} />}
|
||||
@@ -131,14 +119,6 @@ export function DownloadCenter() {
|
||||
{translatePlatformToOsName(feature.platform)} - {translatePlatformAndArchToCpuName(feature.platform, feature.arch)}
|
||||
</Text>
|
||||
<Text c="dimmed" fz="sm" ta={'center'} mt="xs">
|
||||
{feature.platform == 'darwin' && <>
|
||||
{feature.arch == 'arm64' && <>
|
||||
Download this version if you have a Mac with Apple Silicon (M1, M2 chips).
|
||||
</>}
|
||||
{feature.arch == 'x64' && <>
|
||||
Download this version if you have a Mac with an Intel processor, which was most likely manufactured before 2020.
|
||||
</>}
|
||||
</>}
|
||||
{feature.platform == 'linux' && <>This version is for Linux and comes as an AppImage for the GUI versions.</>}
|
||||
{feature.platform == 'win32' && <>Download this version of you have computer on Windows 10 or later.</>}
|
||||
{feature.platform == 'android' && <>This version is for Android devices and all architectures.</>}
|
||||
@@ -165,7 +145,7 @@ export function DownloadCenter() {
|
||||
</Text>
|
||||
|
||||
<Flex justify={'center'} mt={'lg'}>
|
||||
<Switch onChange={switchTarget} data={['All', 'Windows', 'macOS', 'Linux', 'Android']}></Switch>
|
||||
<Switch onChange={switchTarget} data={['All', 'Windows', 'Linux', 'Android']}></Switch>
|
||||
</Flex>
|
||||
|
||||
<Flex gap="xl" justify={'center'} wrap={'wrap'} align={'center'} mt={50}>
|
||||
|
||||
@@ -9,14 +9,17 @@ export function Footer() {
|
||||
return (
|
||||
<footer className={classes.footer}>
|
||||
<Text c="dimmed" fz="sm" ta="center" className={classes.legal}>
|
||||
© {currentYear} {LEGAL_NAME}. Все права защищены.
|
||||
© {currentYear} {LEGAL_NAME}. All rights reserved.
|
||||
</Text>
|
||||
<nav className={classes.links} aria-label="Юридическая информация">
|
||||
<nav className={classes.links} aria-label="Legal information">
|
||||
<Anchor href="/support/" size="sm" c="dimmed">
|
||||
Support
|
||||
</Anchor>
|
||||
<Anchor href="/privacy/" size="sm" c="dimmed">
|
||||
Политика конфиденциальности
|
||||
Privacy Policy
|
||||
</Anchor>
|
||||
<Anchor href="/terms/" size="sm" c="dimmed">
|
||||
Условия использования
|
||||
Terms of Use
|
||||
</Anchor>
|
||||
</nav>
|
||||
</footer>
|
||||
|
||||
@@ -9,7 +9,7 @@ interface SEOProps {
|
||||
|
||||
export function SEO({
|
||||
title = 'Rosetta - Secure Messaging for Everyone',
|
||||
description = 'End-to-end encrypted messaging app with military-grade security. Download for macOS, Windows, Linux.',
|
||||
description = 'End-to-end encrypted messaging app with military-grade security. Download for Windows, Linux, and Android.',
|
||||
ogImage = '/og-image.png',
|
||||
keywords = 'secure messaging, encrypted chat, private messenger'
|
||||
}: SEOProps) {
|
||||
|
||||
Reference in New Issue
Block a user