simplex-chat/index.html
2024-12-03 18:24:38 +00:00

2192 lines
235 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en"
dir="ltr"
>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SimpleX Chat: private and secure messenger without any user IDs (not even random)</title>
<meta name="description" content="SimpleX Chat - a private and encrypted messenger without any user IDs (not even random ones)! Make a private connection via link / QR code to send messages and make calls."/>
<meta name="Content-Type" content="text/html;charset=utf-8"/>
<meta http-equiv="onion-location" content="http://isdb4l77sjqoy2qq7ipum6x3at6hyn3jmxfx4zdhc72ufbmuq4ilwkqd.onion/" />
<meta property="og:url" content="https://simplex.chat/" />
<meta property="og:type" content="website"/>
<meta property="og:title" content="SimpleX Chat: private and secure messenger without any user IDs (not even random)"/>
<meta property="og:description" content="SimpleX Chat - a private and encrypted messenger without any user IDs (not even random ones)! Make a private connection via link / QR code to send messages and make calls."/>
<meta property="og:image" content="https://simplex.chat/img/share_simplex.png"/>
<meta name="twitter:card" content="summary"/>
<link rel="icon" type="image/png" sizes="96x96" href="/img/favicon.ico"/>
<link rel="stylesheet" href="/css/swiper-bundle.min.css">
<link href="/css/tailwind.css" rel="stylesheet"/>
<link rel="stylesheet" href="/css/style.css">
<script async defer src="https://buttons.github.io/buttons.js"></script>
<script src="/js/flag-anchor.js"></script>
</head>
<body class="bg-white dark:bg-[#0C0B13]">
<section class="w-full bg-transparent fixed top-0 z-50">
<header class="">
<div class="flex items-center flex-row justify-end m-auto px-4 lg:px-7 h-[66px]">
<a href="/" class="h-full hidden dark:hidden lg:flex items-center ltr:mr-auto rtl:ml-auto"><img class="w-auto max-h-[50px] pr-10" src="/img/new/logo-light.png" alt="logo" /></a>
<a href="/" class="h-full hidden dark:lg:flex items-center ltr:mr-auto rtl:ml-auto"><img class="w-auto max-h-[50px] pr-10" src="/img/new/logo-dark.png" alt="logo" /></a>
<a href="/" class="dark:hidden lg:hidden ltr:mr-auto rtl:ml-auto"><img class="h-[32px]" src="/img/new/logo-symbol-light.svg" alt="" srcset=""></a>
<a href="/" class="hidden dark:inline-block dark:lg:hidden lg:hidden ltr:mr-auto rtl:ml-auto"><img class="h-[32px]" src="/img/new/logo-symbol-dark.svg" alt="" srcset=""></a>
<nav class="bg-[#F0F1F2] dark:bg-gradient-radial-mobile dark:lg:bg-none lg:bg-transparent fixed top-[66px] left-0 right-0 bottom-0 h-[calc(100vh-66px)] lg:h-[66px] lg:top-0 lg:relative" id="menu">
<div class="flex flex-col lg:flex-row justify-between lg:items-center gap-5 xl:gap-10 px-4 lg:px-0 h-full">
<ul class="flex flex-col lg:flex-row lg:items-center gap-3 py-4 lg:py-0 lg:gap-5 xl:gap-8">
<li class="nav-link relative active">
<a href="/" class="flex items-center justify-between gap-2 lg:py-5 whitespace-nowrap">
<span class="text-[16px] leading-[26px] tracking-[0.01em] nav-link-text text-black dark:text-white before:bg-black dark:before:bg-white">Home</span>
</a>
</li>
<hr class="dark:opacity-[0.1]" >
<li class="nav-link relative">
<a href="javascript:void(0);" class="flex items-center justify-between gap-2 lg:py-5">
<span class="text-[16px] leading-[26px] tracking-[0.01em] text-black dark:text-white before:bg-black dark:before:bg-white">Guide</span>
<span href="" id="btn-mobile" class="flex items-center justify-center h-[36px] w-[36px] lg:h-auto lg:w-auto mt-1">
<svg class="fill-black dark:fill-white" width="10" height="6" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.50447 0.902966C1.21571 0.627397 0.747525 0.627397 0.458761 0.902966C0.169996 1.17853 0.169996 1.62532 0.458761 1.90089L4.21933 5.48961C4.25543 5.52406 4.29433 5.5542 4.33533 5.58003C4.62234 5.76088 5.01237 5.73074 5.26504 5.48961L9.02561 1.90089C9.31438 1.62532 9.31438 1.17853 9.02561 0.902966C8.73685 0.627397 8.26867 0.627397 7.97991 0.902966L4.74219 3.99273L1.50447 0.902966Z"/>
</svg>
</span>
</a>
<ul class="flex flex-col items-start gap-2 lg:h-fit lg:absolute lg:bg-white dark:lg:bg-black top-full lg:mt-[10px] lg:py-4 min-w-[180px] rounded-md lg:shadow-[0_0_3px_rgb(60_72_88_/_15%)] sub-menu">
<li><a href="/docs/guide/readme.html" class=" lg:px-[20px] inline-block whitespace-nowrap">Quick start</a></li>
<li><a href="/docs/guide/send-messages.html" class=" lg:px-[20px] inline-block whitespace-nowrap">Sending messages</a></li>
<li><a href="/docs/guide/secret-groups.html" class=" lg:px-[20px] inline-block whitespace-nowrap">Secret groups</a></li>
<li><a href="/docs/guide/chat-profiles.html" class=" lg:px-[20px] inline-block whitespace-nowrap">Chat profiles</a></li>
<li><a href="/docs/guide/managing-data.html" class=" lg:px-[20px] inline-block whitespace-nowrap">Managing data</a></li>
<li><a href="/docs/guide/audio-video-calls.html" class=" lg:px-[20px] inline-block whitespace-nowrap">Audio & video Calls</a></li>
<li><a href="/docs/guide/privacy-security.html" class=" lg:px-[20px] inline-block whitespace-nowrap">Privacy & security</a></li>
<li><a href="/docs/guide/app-settings.html" class=" lg:px-[20px] inline-block whitespace-nowrap">App settings</a></li>
<li><a href="/docs/guide/making-connections.html" class=" lg:px-[20px] inline-block whitespace-nowrap">Making connections</a></li>
</ul>
</li>
<hr class="dark:opacity-[0.1]" >
<li class="nav-link relative">
<a href="javascript:void(0);" class="flex items-center justify-between gap-2 lg:py-5">
<span class="text-[16px] leading-[26px] tracking-[0.01em] text-black dark:text-white before:bg-black dark:before:bg-white">Reference</span>
<span href="" id="btn-mobile" class="flex items-center justify-center h-[36px] w-[36px] lg:h-auto lg:w-auto mt-1">
<svg class="fill-black dark:fill-white" width="10" height="6" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.50447 0.902966C1.21571 0.627397 0.747525 0.627397 0.458761 0.902966C0.169996 1.17853 0.169996 1.62532 0.458761 1.90089L4.21933 5.48961C4.25543 5.52406 4.29433 5.5542 4.33533 5.58003C4.62234 5.76088 5.01237 5.73074 5.26504 5.48961L9.02561 1.90089C9.31438 1.62532 9.31438 1.17853 9.02561 0.902966C8.73685 0.627397 8.26867 0.627397 7.97991 0.902966L4.74219 3.99273L1.50447 0.902966Z"/>
</svg>
</span>
</a>
<ul class="flex flex-col items-start gap-2 lg:h-fit lg:absolute lg:bg-white dark:lg:bg-black top-full lg:mt-[10px] lg:py-4 min-w-[180px] rounded-md lg:shadow-[0_0_3px_rgb(60_72_88_/_15%)] sub-menu">
<li><a href="https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md"
target="_blank" class="lg:px-[20px] flex items-center gap-1"
>Whitepaper
<svg class="float-right" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
</a></li>
<li><a href="/privacy" class="lg:px-[20px] inline-block"
>Privacy Policy</a></li>
<li><a href="https://github.com/simplex-chat/simplexmq/blob/stable/protocol/simplex-messaging.md"
target="_blank" class="lg:px-[20px] flex items-center gap-1"
>SMP protocol
<svg class="float-right" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
</a></li>
<li><a href="/docs/protocol/simplex-chat.html" class="lg:px-[20px] inline-block"
>Chat protocol</a></li>
<li><a href="/docs/glossary.html" class="lg:px-[20px] inline-block"
>Glossary</a></li>
<hr class=" h-[1px] w-full dark:opacity-[0.1]">
<li><a href="/docs/simplex.html" class=" lg:px-[20px] inline-block whitespace-nowrap">SimpleX platform</a></li>
<li><a href="/docs/business.html" class=" lg:px-[20px] inline-block whitespace-nowrap">SimpleX for business</a></li>
<li><a href="/docs/directory.html" class=" lg:px-[20px] inline-block whitespace-nowrap">SimpleX Directory Service</a></li>
<li><a href="/docs/sql.html" class=" lg:px-[20px] inline-block whitespace-nowrap">Accessing chat database</a></li>
<li><a href="/docs/server.html" class=" lg:px-[20px] inline-block whitespace-nowrap">Host SMP Server</a></li>
<li><a href="/docs/xftp-server.html" class=" lg:px-[20px] inline-block whitespace-nowrap">Host XFTP Server</a></li>
<li><a href="/docs/webrtc.html" class=" lg:px-[20px] inline-block whitespace-nowrap">WebRTC servers</a></li>
<li><a href="/downloads/" class=" lg:px-[20px] inline-block whitespace-nowrap">Downloads</a></li>
<li><a href="/transparency/" class=" lg:px-[20px] inline-block whitespace-nowrap">Transparency</a></li>
<li><a href="/security/" class=" lg:px-[20px] inline-block whitespace-nowrap">Security</a></li>
<li><a href="/faq/" class=" lg:px-[20px] inline-block whitespace-nowrap">FAQ</a></li>
<hr class=" h-[1px] w-full dark:opacity-[0.1]">
<li><a href="/docs/translations.html"
class="lg:px-[20px] flex items-center gap-1"
>Translate SimpleX Chat
</a></li>
<li><a href="/docs/android.html"
class="lg:px-[20px] flex items-center gap-1"
>Accessing Android files
</a></li>
<li><a href="https://github.com/simplex-chat/simplex-chat/blob/stable/apps/simplex-bot-advanced/Main.hs"
target="_blank" class="lg:px-[20px] flex items-center gap-1"
>Chat bot example
<svg class="float-right" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
</a></li>
<li><a href="https://github.com/simplex-chat/simplex-chat/tree/stable/packages/simplex-chat-client/typescript"
target="_blank" class="lg:px-[20px] flex items-center gap-1"
>TypeScript SDK
<svg class="float-right" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
</a></li>
<li><a href="/docs/cli.html" class="lg:px-[20px] inline-block"
>Terminal CLI</a></li>
<li><a href="https://github.com/simplex-chat/simplexmq"
target="_blank" class="lg:px-[20px] flex items-center gap-1"
>SimpleXMQ
<svg class="float-right" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
</a></li>
</ul>
</li>
<hr class="dark:opacity-[0.1]" >
<li class="nav-link relative ">
<a href="/jobs" class="flex items-center justify-between gap-2 lg:py-5 whitespace-nowrap">
<span class="text-[16px] leading-[26px] tracking-[0.01em] nav-link-text text-black dark:text-white before:bg-black dark:before:bg-white">Join team</span>
</a>
</li>
<hr class="dark:opacity-[0.1]" >
<li class="nav-link relative ">
<a href="/blog" class="flex items-center justify-between gap-2 lg:py-5">
<span class="text-[16px] leading-[26px] tracking-[0.01em] nav-link-text text-black dark:text-white before:bg-black dark:before:bg-white">Blog</span>
</a>
</li>
</ul>
<a href="https://github.com/simplex-chat/simplex-chat#help-us-with-donations"
target="_blank" class="whitespace-nowrap flex items-center gap-1 self-center text-white dark:text-black text-[16px] font-medium tracking-[0.02em] rounded-[34px] bg-primary-light dark:bg-primary-dark py-3 lg:py-2 px-20 lg:px-5 mb-auto lg:mb-0"
>Donate
</a>
<div class="inline-block dark:hidden self-center mt-[8px]">
<a class="github-button" href="https://github.com/simplex-chat/simplex-chat" data-size="large"
data-show-count="true" aria-label="Star simplex-chat on GitHub">Star</a>
</div>
<div class="hidden dark:inline-block self-center mt-[8px]">
<a class="github-button" href="https://github.com/simplex-chat/simplex-chat" data-size="large"
data-color-scheme="no-preference: dark; light: dark; dark: dark;"
data-show-count="true" aria-label="Star simplex-chat on GitHub">Star</a>
</div>
</div>
</nav>
<div class="nav-link relative flag-container">
<a href="javascript:void(0);" class="flex items-center justify-end ltr:ml-8 ltr:lg:ml-5 ltr:xl:ml-10 rtl:mr-8 rtl:lg:mr-5 rtl:xl:mr-10 h-6 w-8 whitespace-nowrap">
<img src="/img/flags/en.svg" alt="" srcset="">
</a>
<ul class="flex flex-col items-start gap-2 h-fit absolute top-11 -left-10 bg-white dark:bg-black mt-[10px] py-4 min-w-[170px] rounded-md shadow-[0_0_3px_rgb(60_72_88_/_15%)] sub-menu overflow-auto">
<li>
<a href="/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/en.svg" alt="" srcset="">
<p>English</p>
</a>
</li>
<li>
<a href="/ar/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<div class="flex items-center justify-center" style="background-color:green; color:white; width:21.33px; height:16px">
<p style="text-align:center; font-size:7px">العربية</p>
</div>
<p>العربية</p>
</a>
</li>
<li>
<a href="/cs/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/cs.svg" alt="" srcset="">
<p>Čeština</p>
</a>
</li>
<li>
<a href="/de/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/de.svg" alt="" srcset="">
<p>Deutsch</p>
</a>
</li>
<li>
<a href="/es/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/es.svg" alt="" srcset="">
<p>Español</p>
</a>
</li>
<li>
<a href="/fr/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/fr.svg" alt="" srcset="">
<p>Français</p>
</a>
</li>
<li>
<a href="/it/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/it.svg" alt="" srcset="">
<p>Italiano</p>
</a>
</li>
<li>
<a href="/ja/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/jp.svg" alt="" srcset="">
<p>日本語</p>
</a>
</li>
<li>
<a href="/nl/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/nl.svg" alt="" srcset="">
<p>Nederlands</p>
</a>
</li>
<li>
<a href="/pl/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/pl.svg" alt="" srcset="">
<p>Polski</p>
</a>
</li>
<li>
<a href="/pt_BR/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/br.svg" alt="" srcset="">
<p>Português</p>
</a>
</li>
<li>
<a href="/uk/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/ua.svg" alt="" srcset="">
<p>Українська</p>
</a>
</li>
<li>
<a href="/zh_Hans/" class="px-[20px] flex items-center gap-4 flag-anchor whitespace-nowrap">
<img class="h-4" src="/img/flags/cn.svg" alt="" srcset="">
<p>简体中文</p>
</a>
</li>
</ul>
</div>
<button href="#" class="flex items-center justify-center h-[36px] w-[36px] ltr:ml-8 ltr:lg:ml-4 ltr:xl:ml-8 rtl:mr-8 rtl:lg:mr-4 rtl:xl:mr-8 theme-switch-btn">
<img src="/img/new/sun.svg" alt="" srcset="" class="sun">
<img src="/img/new/moon.svg" alt="" srcset="" class="moon">
</button>
<button href="" id="btn-mobile" class="flex lg:hidden items-center justify-center h-[36px] w-[36px] ltr:ml-8 ltr:lg:ml-5 ltr:xl:ml-10 rtl:mr-8 rtl:lg:mr-5 rtl:xl:mr-10 nav-toggle-btn">
<img src="/img/new/hamburger.svg" id="hamburger" alt="" srcset="">
<svg class="fill-black dark:fill-white hidden" id="cross" width="13" height="13" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z" />
</svg>
</button>
</div>
</header>
<SCript>
// switch theme
const sunIcon = document.querySelector('.sun');
const moonIcon = document.querySelector('.moon');
const userTheme = localStorage.getItem('theme');
const systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches;
const prismThemeLink = document.getElementById('prism-theme')
const iconToggle = () => {
sunIcon.classList.toggle('hidden');
moonIcon.classList.toggle('hidden');
}
const themeCheck = () => {
if(userTheme === 'dark' || (!userTheme && systemTheme)){
document.documentElement.classList.add('dark');
moonIcon.classList.add('hidden');
if(prismThemeLink){
prismThemeLink.setAttribute('href','/css/prism-dark.min.css')
}
}
else{
sunIcon.classList.add('hidden');
if(prismThemeLink){
prismThemeLink.setAttribute('href','/css/prism-light.min.css')
}
}
}
const themeSwitch = () => {
if(document.documentElement.classList.contains('dark')){
document.documentElement.classList.remove('dark');
localStorage.setItem('theme','light');
if(prismThemeLink){
prismThemeLink.setAttribute('href','/css/prism-light.min.css')
}
iconToggle();
}
else{
document.documentElement.classList.add('dark');
localStorage.setItem('theme','dark');
if(prismThemeLink){
prismThemeLink.setAttribute('href','/css/prism-dark.min.css')
}
iconToggle();
}
}
const nav = document.querySelector('header nav');
window.addEventListener('click',(e)=>{
if(e.target.closest('.nav-link')){
if(e.target.closest('.nav-link').classList.contains('active')){
e.target.closest('.nav-link').classList.remove('active');
}
else{
document.querySelectorAll('.nav-link').forEach(el => el.classList.remove('active'))
e.target.closest('.nav-link').classList.add('active');
}
}
else if(e.target.closest('.nav-toggle-btn')){
document.body.classList.toggle('lock-scroll');
if(nav.classList.contains('open')){
nav.classList.remove('open');
document.getElementById('hamburger').classList.remove('hidden');
document.getElementById('cross').classList.add('hidden');
}
else{
nav.classList.add('open');
document.getElementById('hamburger').classList.add('hidden');
document.getElementById('cross').classList.remove('hidden');
}
}
else if(e.target.closest('.theme-switch-btn')){
themeSwitch();
}
})
themeCheck();
const changeHeaderBg = ()=>{
const header = document.querySelector('header')
const scrollValue = window.scrollY
if(scrollValue > 5){
header.classList.add('bg-primary-bg-light');
header.classList.add('dark:bg-primary-bg-dark');
}
else{
header.classList.remove('bg-primary-bg-light');
header.classList.remove('dark:bg-primary-bg-dark');
}
}
window.addEventListener('scroll',changeHeaderBg);
</SCript>
</section>
<html><head></head><body><div class="first-two-sections pt-[66px] bg-white dark:bg-gradient-radial-mobile dark:lg:bg-gradient-radial">
<div class="md:flex md:flex-col-reverse md:items-center xl:flex xl:flex-row xl:items-start relative xl:justify-between xl:gap-10 container">
<div class="">
<section class="xl:h-[calc(100vh-66px)] hero-section-1 xl:max-h-[888px] m-auto w-full flex items-center justify-between landing-page-header px-5">
<div class="xl:h-full flex flex-col items-center xl:items-start xl:justify-around w-full landing-page-header-div">
<img class="static-phone-mobile md:hidden" src="/img/new/mobile-hero.png" alt="">
<article class="w-full xl:max-w-[600px] landing-page-header-article">
<h1 class="primary-header text-center xl:text-left xl:rtl:text-right font-bold text-[38px] md:text-[55px] leading-[46px] md:leading-[63px] mb-2 xl:mb-8">Privacy redefined</h1>
<h2 class="secondary-header text-center xl:text-left xl:rtl:text-right font-bold text-[28px] md:text-[38px] leading-[36px] md:leading-[43px] mb-2 xl:mb-8 tracking-[0.01em]">The first messenger<br>without user IDs</h2>
<p class="landing-page-header-article-paragraph text-black dark:text-white text-center xl:text-justify text-[16px] leading-[24px] mb-[20px] header-description">
Other apps have user IDs: Signal, Matrix, Session, Briar, Jami, Cwtch, etc.<br> SimpleX does not, <strong>not even random numbers</strong>.<br> This radically improves your privacy.
</p>
<a href="javascript:void(0)" data-show-overlay="why-ids-bad-for-privacy" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-center xl:text-left xl:rtl:text-right text-[14px] xl:text-[16px] leading-[34px] underline-offset-2">Why user IDs are bad for privacy?</a>
<div id="why-ids-bad-for-privacy" data-scroll-to="" class="overlay hidden fixed top-0 left-0 bottom-0 right-0 before:absolute before:w-full before:h-full bg-transparent before:bg-secondary-bg-light dark:before:bg-primary-bg-dark before:opacity-90 items-center justify-center p-3 md:p-10 z-[10000]">
<div class="overlay-card w-full md:w-fit md:max-w-[1276px] bg-white dark:bg-card-bg-dark opacity-100 h-full md:h-fit md:max-h-[660px] z-[10001] rounded-md shadow-[0px_3px_12px_rgba(0,0,0,0.2)] p-6 py-10 sm:p-14 overflow-auto scale-100">
<h1 class="text-3xl font-bold text-active-blue mb-6 ">Why user IDs are bad for privacy?</h1>
<div class="flex flex-col-reverse lg:flex-row gap-10 justify-between">
<div class="lg:max-w-[448px]">
<div class="text-grey-black dark:text-white flex flex-col gap-6 text-base">
<p>
When users have persistent identities, even if this is just a random number, like a Session ID, there is a risk that the provider or an attacker can observe how the users are connected and how many messages they send.
</p>
<p>
They could then correlate this information with the existing public social networks, and determine some real identities.
</p>
<p>
Even with the most private apps that use Tor v3 services, if you talk to two different contacts via the same profile they can prove that they are connected to the same person.
</p>
<p>
SimpleX protects against these attacks by not having any user IDs in its design. And, if you use Incognito mode, you will have a different display name for each contact, avoiding any shared data between them.
</p>
</div>
</div>
<div class="max-w-[448px]">
<div class="flex items-center justify-center">
<img class="w-full max-w-[448px] min-w-[300px] dark:hidden" src="/img/new/explained-1.svg" alt="">
<img class="w-full max-w-[448px] min-w-[300px] hidden dark:block" src="/img/new/explained-1.svg" alt="">
</div>
</div>
</div>
<svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z"></path>
</svg>
</div>
</div>
<a href="javascript:void(0)" data-show-overlay="how-simplex-works" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-center xl:text-left xl:rtl:text-right text-[14px] xl:text-[16px] leading-[34px] underline-offset-2">How does SimpleX work?</a>
<div id="how-simplex-works" data-scroll-to="" class="overlay hidden fixed top-0 left-0 bottom-0 right-0 before:absolute before:w-full before:h-full bg-transparent before:bg-secondary-bg-light dark:before:bg-primary-bg-dark before:opacity-90 items-center justify-center p-3 md:p-10 z-[10000]">
<div class="overlay-card w-full md:w-fit md:max-w-[1276px] bg-white dark:bg-card-bg-dark opacity-100 h-full md:h-fit md:max-h-[660px] z-[10001] rounded-md shadow-[0px_3px_12px_rgba(0,0,0,0.2)] p-6 py-10 sm:p-14 overflow-auto scale-100">
<h1 class="text-3xl font-bold text-active-blue mb-6 ">How does SimpleX work?</h1>
<div class="flex flex-col-reverse lg:flex-row gap-10 justify-between">
<div class="lg:max-w-[448px]">
<div class="text-grey-black dark:text-white flex flex-col gap-6 text-base">
<p>
Many users asked: <em>if SimpleX has no user identifiers, how can it know where to deliver messages?</em>
</p>
<p>
To deliver messages, instead of user IDs used by all other platforms, SimpleX uses temporary anonymous pairwise identifiers of message queues, separate for each of your connections — there are no long term identifiers.
</p>
<p>
You define which server(s) to use to receive the messages, your contacts — the servers you use to send the messages to them. Every conversation is likely to use two different servers.
</p>
<p>
This design prevents leaking any users' metadata on the application level. To further improve privacy and protect your IP address you can connect to messaging servers via Tor.
</p>
<p>
Only client devices store user profiles, contacts and groups; the messages are sent with 2-layer <span data-glossary="tooltip-end-to-end-encryption" class="glossary-term">End-to-end encryption</span>.
</p>
<p>
Read more in <a href="https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md" target="_blank">SimpleX whitepaper</a>.
</p>
</div>
</div>
<div class="max-w-[448px]">
<div class="flex items-center justify-center">
<img class="w-full max-w-[448px] min-w-[300px] dark:hidden" src="/img/new/explained-2.svg" alt="">
<img class="w-full max-w-[448px] min-w-[300px] hidden dark:block" src="/img/new/explained-2.svg" alt="">
</div>
</div>
</div>
<svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z"></path>
</svg>
</div>
</div>
<a href="javascript:void(0)" data-show-overlay="security-assessment" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-center xl:text-left xl:rtl:text-right text-[14px] xl:text-[16px] leading-[34px] underline-offset-2">Security assessments</a>
<div id="security-assessment" data-scroll-to="" class="overlay hidden fixed top-0 left-0 bottom-0 right-0 before:absolute before:w-full before:h-full bg-transparent before:bg-secondary-bg-light dark:before:bg-primary-bg-dark before:opacity-90 items-center justify-center p-3 md:p-10 z-[10000]">
<div class="overlay-card w-full md:w-fit md:max-w-[1276px] bg-white dark:bg-card-bg-dark opacity-100 h-full md:h-fit md:max-h-[660px] z-[10001] rounded-md shadow-[0px_3px_12px_rgba(0,0,0,0.2)] p-6 py-10 sm:p-14 overflow-auto scale-100">
<h1 class="text-3xl font-bold text-active-blue mb-6 ">Security assessments</h1>
<div class="flex flex-col-reverse lg:flex-row gap-10 justify-between">
<div class="lg:max-w-[448px]">
<div class="text-grey-black dark:text-white flex flex-col gap-6 text-base">
<p>
<a href="https://www.trailofbits.com/about/">Trail of Bits</a> is a leading security and technology consultancy whose clients include big tech, governmental agencies and major <span data-glossary="tooltip-blockchain" class="glossary-term">Blockchain</span> projects.
</p>
<p>
Trail of Bits reviewed SimpleX network cryptography and networking components in November 2022. <a href="/blog/20221108-simplex-chat-v4.2-security-audit-new-website.html">Read more</a>.
</p>
<p>
Trail of Bits reviewed cryptographic design of SimpleX network protocols in July 2024. <a href="/blog/20241014-simplex-network-v6-1-security-review-better-calls-user-experience.html">Read more</a>.
</p>
</div>
</div>
<div class="max-w-[448px]">
<div class="flex items-center justify-center">
<img class="w-full max-w-[448px] min-w-[300px] dark:hidden" src="/img/trail-of-bits-light.png" alt="">
<img class="w-full max-w-[448px] min-w-[300px] hidden dark:block" src="/img/trail-of-bits-dark.png" alt="">
</div>
</div>
</div>
<svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z"></path>
</svg>
</div>
</div>
</article>
<article class="w-full xl:max-w-[600px]">
<div id="simplex-reviews" class="flex items-center justify-center xl:justify-start flex-wrap gap-4 my-10">
<a class="block rounded overflow-hidden" title="security assessment" href="https://simplex.chat/blog/20221108-simplex-chat-v4.2-security-audit-new-website.html" target="_blank">
<img class="h-[40px] w-auto block dark:hidden" src="/img/trail-of-bits-light.png" alt="Trail of Bits">
<img class="h-[40px] w-auto hidden dark:block" src="/img/trail-of-bits-dark.png" alt="Trail of Bits">
</a>
<a class="block rounded overflow-hidden" title="messenger recommendations" href="https://www.privacyguides.org/en/real-time-communication/#simplex-chat" target="_blank">
<img class="h-[40px] w-auto block dark:hidden" src="/img/privacy-guides-light.png" alt="Privacy Guides">
<img class="h-[40px] w-auto hidden dark:block" src="/img/privacy-guides-dark.png" alt="Privacy Guides">
</a>
<a class="block rounded overflow-hidden" title="publication" href="https://www.heise.de/suche/?q=simplex+chat&amp;sort_by=date&amp;rm=search" target="_blank">
<img class="h-[40px] w-auto block dark:hidden" src="/img/heise-light.png" alt="Heise Online">
<img class="h-[40px] w-auto hidden dark:block" src="/img/heise-dark.png" alt="Heise Online">
</a>
<a class="block rounded overflow-hidden" title="review" href="https://www.kuketz-blog.de/simplex-eindruecke-vom-messenger-ohne-identifier/" target="_blank">
<img class="h-[40px] w-auto block dark:hidden" src="/img/kuketz-blog-light.png" alt="Mike Kuketz blog">
<img class="h-[40px] w-auto hidden dark:block" src="/img/kuketz-blog-dark.png" alt="Mike Kuketz blog">
</a>
<a class="block rounded overflow-hidden" title="podcast interview" href="https://optoutpod.com/episodes/s3e02-simplexchat/" target="_blank">
<img class="h-[40px] w-auto" src="/img/optout.jpg" alt="Opt Out Podcast">
</a>
</div>
<div>
<p class="text-black dark:text-white hidden md:block text-center xl:text-left xl:rtl:text-right text-[16px] leading-[26px] mb-[11px] md:mt-6">Get SimpleX <a href="/downloads">desktop app</a></p>
<div class="socials flex items-center justify-center xl:justify-start gap-4 flex-wrap mt-[30px]">
<a href="https://apps.apple.com/us/app/simplex-chat/id1605771084" target="_blank"><img class="h-[40px] w-auto" src="/img/new/apple_store.svg"></a>
<a href="https://play.google.com/store/apps/details?id=chat.simplex.app" target="_blank" title="Public iOS preview on TestFlight"><img class="h-[40px] w-auto" src="/img/new/google_play.svg"></a>
<a href="/fdroid" title="SimpleX F-Droid Repository"><img class="h-[40px] w-auto" src="/img/new/f_droid.svg"></a>
<a href="https://testflight.apple.com/join/DWuT2LQu" target="_blank"><img class="h-[40px] w-auto" src="/img/new/testflight.png"></a>
<a href="https://github.com/simplex-chat/simplex-chat/releases/latest/download/simplex.apk" target="_blank"><img class="h-[40px] w-auto" src="/img/new/apk_icon.png"></a>
</div>
</div>
</article>
</div>
</section>
<section class="xl:h-[calc(100vh-66px)] xl:max-h-[888px]">
<div class="h-[calc(100%-81.42px)] w-full flex flex-col items-start justify-around">
<div class="hero-video-phone-container w-full xl:hidden">
<div class="hidden relative md:flex items-center justify-center">
<img id="hero-video-phone-Background hidden md:block" src="/img/new/tab-video.svg">
<video class="absolute rounded-lg top-10 w-[235px] ml-[-6px] mt-1" controls="">
<source src="/video/connect.mp4" type="video/mp4">
</video>
</div>
<div class="w-full md:hidden my-10 relative flex items-center justify-center bg-[#17203D]">
<video class="w-full" controls="">
<source src="/video/connect.mp4" type="video/mp4">
</video>
</div>
</div>
<article class="w-full xl:max-w-[600px] landing-page-header-article px-5">
<h2 class="text-active-blue text-center xl:text-left xl:rtl:text-right font-bold text-[28px] md:text-[35px] leading-[36px] md:leading-[43px] mb-[28px]">
Make a private connection
</h2>
<p class="text-center text-black dark:text-white xl:text-justify leading-[24px] text-[16px] mb-10 xl:mb-[25px] header-description">
The video shows how you connect to your friend via their 1-time QR-code, in person or via a video link. You can also connect by sharing an invitation link.
</p>
</article>
<div class="w-full container px-5 hidden md:flex items-center justify-center gap-[50px] py-[24px] xl:absolute bottom-0 z-10">
<a href="#why-simplex" class="menu-link">Why SimpleX</a>
<a href="#features" class="menu-link">Features</a>
<a href="#privacy" class="menu-link">SimpleX privacy</a>
<a href="#network" class="menu-link">SimpleX network</a>
</div>
</div>
</section>
</div>
<div class="hero-phone-background hidden md:flex md:static md:max-w-[490px] md:mb-6 xl:mb-0 xl:flex items-center justify-center h-fit xl:h-[calc(100vh-66px)] xl:max-h-[888px] xl:min-w-[600px] xl:sticky top-[66px]">
<img id="hero-phone-light" class="only-light">
<img id="hero-phone-dark" class="only-dark">
<div id="hero-phone-preload" style="display: none"></div>
<video id="hero-phone-video" class="absolute hidden rounded-[12px] bg-black w-[238px] mr-[-4px] mt-[14px]" controls="">
<source src="/video/connect.mp4" type="video/mp4">
</video>
</div>
</div>
</div>
<script>
var navBar = document.querySelector("nav");
var landingPageHeader = document.querySelector('.landing-page-header');
//landingPageHeader.style.height = window.innerHeight - navBar.offsetHeight + 'px';
// event listener for changing height of section according to window height
//window.addEventListener('resize', function () {
// landingPageHeader.style.height = window.innerHeight - navBar.offsetHeight + 'px';
//});
</script>
<section id="why-privacy" class="bg-secondary-bg-light dark:bg-secondary-bg-dark py-[90px] px-5 lg:h-[888px]">
<div class="container">
<h2 class="text-grey-black dark:text-white text-[35px] leading-[45px] md:leading-[55px] lg:text-[45px] text-center font-bold mb-4 md:mb-8">Why privacy <span class="gradient-text">matters</span></h2>
<p class="text-center text-[18px] md:text-[20px] font-medium mb-7 md:mb-16 lg:mb-20 text-black dark:text-white">Preserving the privacy of your metadata — <span class="text-active-blue">who you talk with</span> — protects you from:</p>
<div class="flex flex-col lg:flex-row gap-[20px] mb-[62px] lg:mb-[90px]">
<div class="bg-white dark:bg-transparent px-[34px] flex flex-col md:flex-row lg:flex-col items-center rounded-[12px] dark:rounded-[6px] shadow-[0px_50px_61px_rgba(0,0,0,0.12)] dark:shadow-none flex-[1] border-gradient">
<div class="md:w-[30%] lg:w-full flex items-center justify-center h-[215px]">
<img src="/img/new/privacy-section-1.svg" alt="">
</div>
<div class="md:w-[70%] lg:w-full flex flex-col items-center md:items-start lg:items-center gap-5 mb-[54px] md:mb-0 lg:mb-[54px]">
<p class="font-medium text-xl text-center text-grey-black dark:text-white">Advertising and price discrimination</p>
<a href="javascript:void(0);" data-show-overlay="privacy-saves-money" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-[16px] text-center underline-offset-2">Privacy saves you money</a>
<div id="privacy-saves-money" data-scroll-to="why-privacy" class="overlay hidden fixed top-0 left-0 bottom-0 right-0 before:absolute before:w-full before:h-full bg-transparent before:bg-secondary-bg-light dark:before:bg-primary-bg-dark before:opacity-90 items-center justify-center p-3 md:p-10 z-[10000]">
<div class="overlay-card w-full md:w-fit md:max-w-[1276px] bg-white dark:bg-card-bg-dark opacity-100 h-full md:h-fit md:max-h-[660px] z-[10001] rounded-md shadow-[0px_3px_12px_rgba(0,0,0,0.2)] p-6 py-10 sm:p-14 overflow-auto scale-100">
<h1 class="text-3xl font-bold text-active-blue mb-6 lg:max-w-[448px]">Privacy saves you money</h1>
<div class="flex flex-col-reverse lg:flex-row gap-10 justify-between">
<div class="lg:max-w-[448px]">
<div class="text-grey-black dark:text-white flex flex-col gap-6 text-base">
<p>
Many large companies use information about who you are connected with to estimate your income, sell you the products you don't really need, and to determine the prices.
</p>
<p>
Online retailers know that people with lower incomes are more likely to make urgent purchases, so they may charge higher prices or remove discounts.
</p>
<p>
Some financial and insurance companies use social graphs to determine interest rates and premiums. It often makes people with lower incomes pay more — it is known as <a href="https://fairbydesign.com/povertypremium/" target="_blank">'poverty premium'</a>.
</p>
<p>
SimpleX platform protects the privacy of your connections better than any alternative, fully preventing your social graph becoming available to any companies or organizations. Even when people use servers provided by SimpleX Chat, we do not know the number of users or their connections.
</p>
</div>
</div>
</div>
<svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z"></path>
</svg>
</div>
</div>
</div>
</div>
<div class="bg-white dark:bg-transparent px-[34px] flex flex-col md:flex-row lg:flex-col items-center rounded-[12px] dark:rounded-[6px] shadow-[0px_50px_61px_rgba(0,0,0,0.12)] dark:shadow-none flex-[1] border-gradient">
<div class="md:w-[30%] lg:w-full flex items-center justify-center h-[215px]">
<img src="/img/new/privacy-section-2.svg" alt="">
</div>
<div class="md:w-[70%] lg:w-full flex flex-col items-center md:items-start lg:items-center gap-5 mb-[54px] md:mb-0 lg:mb-[54px]">
<p class="font-medium text-xl text-center text-grey-black dark:text-white">Manipulation of elections</p>
<a href="javascript:void(0);" data-show-overlay="privacy-gives-power" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-[16px] text-center underline-offset-2">Privacy gives you power</a>
<div id="privacy-gives-power" data-scroll-to="why-privacy" class="overlay hidden fixed top-0 left-0 bottom-0 right-0 before:absolute before:w-full before:h-full bg-transparent before:bg-secondary-bg-light dark:before:bg-primary-bg-dark before:opacity-90 items-center justify-center p-3 md:p-10 z-[10000]">
<div class="overlay-card w-full md:w-fit md:max-w-[1276px] bg-white dark:bg-card-bg-dark opacity-100 h-full md:h-fit md:max-h-[660px] z-[10001] rounded-md shadow-[0px_3px_12px_rgba(0,0,0,0.2)] p-6 py-10 sm:p-14 overflow-auto scale-100">
<h1 class="text-3xl font-bold text-active-blue mb-6 lg:max-w-[448px]">Privacy gives you power</h1>
<div class="flex flex-col-reverse lg:flex-row gap-10 justify-between">
<div class="lg:max-w-[448px]">
<div class="text-grey-black dark:text-white flex flex-col gap-6 text-base">
<p>
Not so long ago we observed the major elections being manipulated by <a href="https://en.wikipedia.org/wiki/FacebookCambridge_Analytica_data_scandal" target="_blank">a reputable consulting company</a> that used our social graphs to distort our view of the real world and manipulate our votes.
</p>
<p>
To be objective and to make independent decisions you need to be in control of your information space. It is only possible if you use private communication platform that does not have access to your social graph.
</p>
<p>
SimpleX is the first platform that doesn't have any user identifiers by design, in this way protecting your connections graph better than any known alternative.
</p>
</div>
</div>
</div>
<svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z"></path>
</svg>
</div>
</div>
</div>
</div>
<div class="bg-white dark:bg-transparent px-[34px] flex flex-col md:flex-row lg:flex-col items-center rounded-[12px] dark:rounded-[6px] shadow-[0px_50px_61px_rgba(0,0,0,0.12)] dark:shadow-none flex-[1] border-gradient">
<div class="md:w-[30%] lg:w-full flex items-center justify-center h-[215px]">
<img src="/img/new/privacy-section-3.svg" alt="">
</div>
<div class="md:w-[70%] lg:w-full flex flex-col items-center md:items-start lg:items-center gap-5 mb-[54px] md:mb-0 lg:mb-[54px]">
<p class="font-medium text-xl text-center text-grey-black dark:text-white">Prosecution due to innocent association</p>
<a href="javascript:void(0);" data-show-overlay="privacy-protects-freedom" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-[16px] text-center underline-offset-2">Privacy protects your freedom</a>
<div id="privacy-protects-freedom" data-scroll-to="why-privacy" class="overlay hidden fixed top-0 left-0 bottom-0 right-0 before:absolute before:w-full before:h-full bg-transparent before:bg-secondary-bg-light dark:before:bg-primary-bg-dark before:opacity-90 items-center justify-center p-3 md:p-10 z-[10000]">
<div class="overlay-card w-full md:w-fit md:max-w-[1276px] bg-white dark:bg-card-bg-dark opacity-100 h-full md:h-fit md:max-h-[660px] z-[10001] rounded-md shadow-[0px_3px_12px_rgba(0,0,0,0.2)] p-6 py-10 sm:p-14 overflow-auto scale-100">
<h1 class="text-3xl font-bold text-active-blue mb-6 lg:max-w-[448px]">Privacy protects your freedom</h1>
<div class="flex flex-col-reverse lg:flex-row gap-10 justify-between">
<div class="lg:max-w-[448px]">
<div class="text-grey-black dark:text-white flex flex-col gap-6 text-base">
<p>
Everyone should care about privacy and security of their communications — harmless conversations can put you in danger, even if you have nothing to hide.
</p>
<p>
One of the most shocking stories is the experience of <a href="https://en.wikipedia.org/wiki/Mohamedou_Ould_Slahi" target="_blank">Mohamedou Ould Salahi</a> described in his memoir and shown in The Mauritanian movie. He was put into Guantanamo camp, without trial, and was tortured there for 15 years after a phone call to his relative in Afghanistan, under suspicion of being involved in 9/11 attacks, even though he lived in Germany for the previous 10 years.
</p>
<p>
Ordinary people get arrested for what they share online, even via their 'anonymous' accounts, <a href="https://www.dailymail.co.uk/news/article-11282263/Moment-police-swoop-house-devout-catholic-mother-malicious-online-posts.html" target="_blank">even in democratic countries</a>.
</p>
<p>
It is not enough to use an end-to-end encrypted messenger, we all should use the messengers that protect the privacy of our personal networks — who we are connected with.
</p>
</div>
</div>
</div>
<svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z"></path>
</svg>
</div>
</div>
</div>
</div>
</div>
<p class="text-center w-full max-w-[900px] text-[20px] leading-[28px] m-auto text-black dark:text-white">Make sure your messenger can't access your data!</p>
</div>
</section>
<section id="why-simplex" class="bg-primary-bg-light dark:bg-primary-bg-dark py-[90px] overflow-hidden px-0 sm:px-1 xl:h-[888px]">
<div class="container scale-100">
<h2 class="text-grey-black dark:text-white text-[35px] leading-[45px] md:leading-[55px] lg:text-[45px] text-center font-bold mb-14 px-5 sm:px-4">Why SimpleX is <span class="gradient-text">unique</span></h2>
<div class="swiper unique-swiper px-5 sm:px-4 py-2">
<div class="swiper-wrapper mb-16">
<div class="swiper-slide overflow-hidden flex items-center md:items-start flex-col xl:flex-row-reverse xl:items-center min-h-[620px] md:min-h-fit xl:min-h-[565px] px-4 md:px-10 lg:px-[50px] py-8 lg:py-[50px] rounded-[12px] shadow-[0px_3px_12px_rgba(0,0,0,0.2)] dark:shadow-none border-gradient relative simplex-unique-card">
<div class="md:flex-1 flex items-center justify-center h-[55%] md:h-fit w-full card-image">
<img class="w-full max-w-[400px] dark:hidden" src="/img/new/unique-section-1.png" alt="">
<img class="w-full max-w-[400px] hidden dark:block" src="/img/new/unique-section-1-dark.png" alt="">
</div>
<div class="card-content absolute md:static px-4 md:px-0 bottom-[80px] right-1 left-1 h-[180px] md:h-fit pt-5 lg:pt-0 bg-primary-bg-light dark:bg-primary-bg-dark">
<div class="content-head">
<h1 class="text-[35px] lg:text-[65px] font-bold tracking-[0.06em] text-active-blue text-center md:text-left md:rtl:text-right">#1</h1>
<h3 class="w-full max-w-[617px] text-[25px] leading-[33px] lg:text-[35px] lg:leading-[45px] text-center md:text-left md:rtl:text-right font-bold text-grey-black dark:text-white">You have complete privacy</h3>
</div>
<div class="content-body py-5 md:py-7">
<div class="w-full max-w-[541px] text-[16px] leading-[24px] tracking-[0.02em] mb-[36px] text-grey-black dark:text-white text-center md:text-left md:rtl:text-right">
<p style="padding-bottom:6px;">
SimpleX protects the privacy of your profile, contacts and metadata, hiding it from SimpleX platform servers and any observers.
</p>
<p>
Unlike any other existing messaging platform, SimpleX has no identifiers assigned to the users — <strong>not even random numbers</strong>.
</p>
</div>
<a href="javascript:void(0)" data-show-overlay="privacy-of-identity-contacts-metadata" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-[16px] underline-offset-4 tracking-[0.02em] text-center md:text-left md:rtl:text-right">Learn more</a>
</div>
</div>
<div class="hide-show-btn fixed bottom-0 pb-8 pt-2 h-[80px] left-1 right-1 md:hidden flex items-center justify-center bg-primary-bg-light dark:bg-primary-bg-dark scale-100 z-10">
<a href="javascript:void(0);" class="flex items-center gap-2 open-card-btn">
<span class="underline text-[16px] tracking-[0.02em] underline-offset-4 text-primary-light dark:text-primary-dark">More info</span>
<span class="flex items-center justify-center mt-1">
<svg class="fill-primary-light dark:fill-primary-dark" width="10" height="6" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.50447 0.902966C1.21571 0.627397 0.747525 0.627397 0.458761 0.902966C0.169996 1.17853 0.169996 1.62532 0.458761 1.90089L4.21933 5.48961C4.25543 5.52406 4.29433 5.5542 4.33533 5.58003C4.62234 5.76088 5.01237 5.73074 5.26504 5.48961L9.02561 1.90089C9.31438 1.62532 9.31438 1.17853 9.02561 0.902966C8.73685 0.627397 8.26867 0.627397 7.97991 0.902966L4.74219 3.99273L1.50447 0.902966Z"></path>
</svg>
</span>
</a>
<a href="javascript:void(0);" class="items-center gap-2 close-card-btn hidden">
<span class="underline text-[16px] tracking-[0.02em] underline-offset-4 text-primary-light dark:text-primary-dark">Hide info</span>
<span class="flex items-center justify-center mt-1">
<svg class="fill-primary-light dark:fill-primary-dark" width="10" height="5" viewBox="0 0 10 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.40813 4.79332C8.69689 5.06889 9.16507 5.06889 9.45384 4.79332C9.7426 4.51775 9.7426 4.07097 9.45384 3.7954L5.69327 0.206676C5.65717 0.17223 5.61827 0.142089 5.57727 0.116255C5.29026 -0.064587 4.90023 -0.0344467 4.64756 0.206676L0.886983 3.7954C0.598219 4.07097 0.598219 4.51775 0.886983 4.79332C1.17575 5.06889 1.64393 5.06889 1.93269 4.79332L5.17041 1.70356L8.40813 4.79332Z"></path>
</svg>
</span>
</a>
</div>
</div>
<div class="swiper-slide overflow-hidden flex items-center md:items-start flex-col xl:flex-row-reverse xl:items-center min-h-[620px] md:min-h-fit xl:min-h-[565px] px-4 md:px-10 lg:px-[50px] py-8 lg:py-[50px] rounded-[12px] shadow-[0px_3px_12px_rgba(0,0,0,0.2)] dark:shadow-none border-gradient relative simplex-unique-card">
<div class="md:flex-1 flex items-center justify-center h-[55%] md:h-fit w-full card-image">
<img class="w-full max-w-[400px] dark:hidden" src="/img/new/unique-section-2.png" alt="">
<img class="w-full max-w-[400px] hidden dark:block" src="/img/new/unique-section-2-dark.png" alt="">
</div>
<div class="card-content absolute md:static px-4 md:px-0 bottom-[80px] right-1 left-1 h-[180px] md:h-fit pt-5 lg:pt-0 bg-primary-bg-light dark:bg-primary-bg-dark">
<div class="content-head">
<h1 class="text-[35px] lg:text-[65px] font-bold tracking-[0.06em] text-active-blue text-center md:text-left md:rtl:text-right">#2</h1>
<h3 class="w-full max-w-[617px] text-[25px] leading-[33px] lg:text-[35px] lg:leading-[45px] text-center md:text-left md:rtl:text-right font-bold text-grey-black dark:text-white">You are protected<br>from spam and abuse</h3>
</div>
<div class="content-body py-5 md:py-7">
<div class="w-full max-w-[541px] text-[16px] leading-[24px] tracking-[0.02em] mb-[36px] text-grey-black dark:text-white text-center md:text-left md:rtl:text-right">
<p>
Because you have no identifier or fixed address on the SimpleX platform, nobody can contact you unless you share a one-time or temporary user address, as a QR code or a link.
</p>
</div>
<a href="javascript:void(0)" data-show-overlay="protection-from-spam-and-abuse" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-[16px] underline-offset-4 tracking-[0.02em] text-center md:text-left md:rtl:text-right">Learn more</a>
</div>
</div>
<div class="hide-show-btn fixed bottom-0 pb-8 pt-2 h-[80px] left-1 right-1 md:hidden flex items-center justify-center bg-primary-bg-light dark:bg-primary-bg-dark scale-100 z-10">
<a href="javascript:void(0);" class="flex items-center gap-2 open-card-btn">
<span class="underline text-[16px] tracking-[0.02em] underline-offset-4 text-primary-light dark:text-primary-dark">More info</span>
<span class="flex items-center justify-center mt-1">
<svg class="fill-primary-light dark:fill-primary-dark" width="10" height="6" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.50447 0.902966C1.21571 0.627397 0.747525 0.627397 0.458761 0.902966C0.169996 1.17853 0.169996 1.62532 0.458761 1.90089L4.21933 5.48961C4.25543 5.52406 4.29433 5.5542 4.33533 5.58003C4.62234 5.76088 5.01237 5.73074 5.26504 5.48961L9.02561 1.90089C9.31438 1.62532 9.31438 1.17853 9.02561 0.902966C8.73685 0.627397 8.26867 0.627397 7.97991 0.902966L4.74219 3.99273L1.50447 0.902966Z"></path>
</svg>
</span>
</a>
<a href="javascript:void(0);" class="items-center gap-2 close-card-btn hidden">
<span class="underline text-[16px] tracking-[0.02em] underline-offset-4 text-primary-light dark:text-primary-dark">Hide info</span>
<span class="flex items-center justify-center mt-1">
<svg class="fill-primary-light dark:fill-primary-dark" width="10" height="5" viewBox="0 0 10 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.40813 4.79332C8.69689 5.06889 9.16507 5.06889 9.45384 4.79332C9.7426 4.51775 9.7426 4.07097 9.45384 3.7954L5.69327 0.206676C5.65717 0.17223 5.61827 0.142089 5.57727 0.116255C5.29026 -0.064587 4.90023 -0.0344467 4.64756 0.206676L0.886983 3.7954C0.598219 4.07097 0.598219 4.51775 0.886983 4.79332C1.17575 5.06889 1.64393 5.06889 1.93269 4.79332L5.17041 1.70356L8.40813 4.79332Z"></path>
</svg>
</span>
</a>
</div>
</div>
<div class="swiper-slide overflow-hidden flex items-center md:items-start flex-col xl:flex-row-reverse xl:items-center min-h-[620px] md:min-h-fit xl:min-h-[565px] px-4 md:px-10 lg:px-[50px] py-8 lg:py-[50px] rounded-[12px] shadow-[0px_3px_12px_rgba(0,0,0,0.2)] dark:shadow-none border-gradient relative simplex-unique-card">
<div class="md:flex-1 flex items-center justify-center h-[55%] md:h-fit w-full card-image">
<img class="w-full max-w-[400px] dark:hidden" src="/img/new/unique-section-3.png" alt="">
<img class="w-full max-w-[400px] hidden dark:block" src="/img/new/unique-section-3-dark.png" alt="">
</div>
<div class="card-content absolute md:static px-4 md:px-0 bottom-[80px] right-1 left-1 h-[180px] md:h-fit pt-5 lg:pt-0 bg-primary-bg-light dark:bg-primary-bg-dark">
<div class="content-head">
<h1 class="text-[35px] lg:text-[65px] font-bold tracking-[0.06em] text-active-blue text-center md:text-left md:rtl:text-right">#3</h1>
<h3 class="w-full max-w-[617px] text-[25px] leading-[33px] lg:text-[35px] lg:leading-[45px] text-center md:text-left md:rtl:text-right font-bold text-grey-black dark:text-white">You control your data</h3>
</div>
<div class="content-body py-5 md:py-7">
<div class="w-full max-w-[541px] text-[16px] leading-[24px] tracking-[0.02em] mb-[36px] text-grey-black dark:text-white text-center md:text-left md:rtl:text-right">
<p style="padding-bottom:5px;">
SimpleX stores all user data on client devices in a <strong>portable encrypted database format</strong> — it can be transferred to another device.
</p>
<p>
The end-to-end encrypted messages are held temporarily on SimpleX relay servers until received, then they are permanently deleted.
</p>
</div>
<a href="javascript:void(0)" data-show-overlay="you-control-your-data" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-[16px] underline-offset-4 tracking-[0.02em] text-center md:text-left md:rtl:text-right">Learn more</a>
</div>
</div>
<div class="hide-show-btn fixed bottom-0 pb-8 pt-2 h-[80px] left-1 right-1 md:hidden flex items-center justify-center bg-primary-bg-light dark:bg-primary-bg-dark scale-100 z-10">
<a href="javascript:void(0);" class="flex items-center gap-2 open-card-btn">
<span class="underline text-[16px] tracking-[0.02em] underline-offset-4 text-primary-light dark:text-primary-dark">More info</span>
<span class="flex items-center justify-center mt-1">
<svg class="fill-primary-light dark:fill-primary-dark" width="10" height="6" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.50447 0.902966C1.21571 0.627397 0.747525 0.627397 0.458761 0.902966C0.169996 1.17853 0.169996 1.62532 0.458761 1.90089L4.21933 5.48961C4.25543 5.52406 4.29433 5.5542 4.33533 5.58003C4.62234 5.76088 5.01237 5.73074 5.26504 5.48961L9.02561 1.90089C9.31438 1.62532 9.31438 1.17853 9.02561 0.902966C8.73685 0.627397 8.26867 0.627397 7.97991 0.902966L4.74219 3.99273L1.50447 0.902966Z"></path>
</svg>
</span>
</a>
<a href="javascript:void(0);" class="items-center gap-2 close-card-btn hidden">
<span class="underline text-[16px] tracking-[0.02em] underline-offset-4 text-primary-light dark:text-primary-dark">Hide info</span>
<span class="flex items-center justify-center mt-1">
<svg class="fill-primary-light dark:fill-primary-dark" width="10" height="5" viewBox="0 0 10 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.40813 4.79332C8.69689 5.06889 9.16507 5.06889 9.45384 4.79332C9.7426 4.51775 9.7426 4.07097 9.45384 3.7954L5.69327 0.206676C5.65717 0.17223 5.61827 0.142089 5.57727 0.116255C5.29026 -0.064587 4.90023 -0.0344467 4.64756 0.206676L0.886983 3.7954C0.598219 4.07097 0.598219 4.51775 0.886983 4.79332C1.17575 5.06889 1.64393 5.06889 1.93269 4.79332L5.17041 1.70356L8.40813 4.79332Z"></path>
</svg>
</span>
</a>
</div>
</div>
<div class="swiper-slide overflow-hidden flex items-center md:items-start flex-col xl:flex-row-reverse xl:items-center min-h-[620px] md:min-h-fit xl:min-h-[565px] px-4 md:px-10 lg:px-[50px] py-8 lg:py-[50px] rounded-[12px] shadow-[0px_3px_12px_rgba(0,0,0,0.2)] dark:shadow-none border-gradient relative simplex-unique-card">
<div class="md:flex-1 flex items-center justify-center h-[55%] md:h-fit w-full card-image">
<img class="w-full max-w-[400px] dark:hidden" src="/img/new/unique-section-4.png" alt="">
<img class="w-full max-w-[400px] hidden dark:block" src="/img/new/unique-section-4-dark.png" alt="">
</div>
<div class="card-content absolute md:static px-4 md:px-0 bottom-[80px] right-1 left-1 h-[180px] md:h-fit pt-5 lg:pt-0 bg-primary-bg-light dark:bg-primary-bg-dark">
<div class="content-head">
<h1 class="text-[35px] lg:text-[65px] font-bold tracking-[0.06em] text-active-blue text-center md:text-left md:rtl:text-right">#4</h1>
<h3 class="w-full max-w-[617px] text-[25px] leading-[33px] lg:text-[35px] lg:leading-[45px] text-center md:text-left md:rtl:text-right font-bold text-grey-black dark:text-white">You own SimpleX network</h3>
</div>
<div class="content-body py-5 md:py-7">
<div class="w-full max-w-[541px] text-[16px] leading-[24px] tracking-[0.02em] mb-[36px] text-grey-black dark:text-white text-center md:text-left md:rtl:text-right">
<p style="padding-bottom:6px;">
The SimpleX network is fully decentralised and independent of any crypto-currency or any other platform, other than the Internet.
</p>
<p>
You can <strong>use SimpleX with your own servers</strong> or with the servers provided by us — and still connect to any user.
</p>
</div>
<a href="javascript:void(0)" data-show-overlay="you-own-simplex-network" class="open-overlay-btn underline text-primary-light dark:text-primary-dark block text-[16px] underline-offset-4 tracking-[0.02em] text-center md:text-left md:rtl:text-right">Learn more</a>
</div>
</div>
<div class="hide-show-btn fixed bottom-0 pb-8 pt-2 h-[80px] left-1 right-1 md:hidden flex items-center justify-center bg-primary-bg-light dark:bg-primary-bg-dark scale-100 z-10">
<a href="javascript:void(0);" class="flex items-center gap-2 open-card-btn">
<span class="underline text-[16px] tracking-[0.02em] underline-offset-4 text-primary-light dark:text-primary-dark">More info</span>
<span class="flex items-center justify-center mt-1">
<svg class="fill-primary-light dark:fill-primary-dark" width="10" height="6" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.50447 0.902966C1.21571 0.627397 0.747525 0.627397 0.458761 0.902966C0.169996 1.17853 0.169996 1.62532 0.458761 1.90089L4.21933 5.48961C4.25543 5.52406 4.29433 5.5542 4.33533 5.58003C4.62234 5.76088 5.01237 5.73074 5.26504 5.48961L9.02561 1.90089C9.31438 1.62532 9.31438 1.17853 9.02561 0.902966C8.73685 0.627397 8.26867 0.627397 7.97991 0.902966L4.74219 3.99273L1.50447 0.902966Z"></path>
</svg>
</span>
</a>
<a href="javascript:void(0);" class="items-center gap-2 close-card-btn hidden">
<span class="underline text-[16px] tracking-[0.02em] underline-offset-4 text-primary-light dark:text-primary-dark">Hide info</span>
<span class="flex items-center justify-center mt-1">
<svg class="fill-primary-light dark:fill-primary-dark" width="10" height="5" viewBox="0 0 10 5" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.40813 4.79332C8.69689 5.06889 9.16507 5.06889 9.45384 4.79332C9.7426 4.51775 9.7426 4.07097 9.45384 3.7954L5.69327 0.206676C5.65717 0.17223 5.61827 0.142089 5.57727 0.116255C5.29026 -0.064587 4.90023 -0.0344467 4.64756 0.206676L0.886983 3.7954C0.598219 4.07097 0.598219 4.51775 0.886983 4.79332C1.17575 5.06889 1.64393 5.06889 1.93269 4.79332L5.17041 1.70356L8.40813 4.79332Z"></path>
</svg>
</span>
</a>
</div>
</div>
</div>
<img class="fixed left-[-3px] top-[52%] swiper-button-prev unique-swiper-button-prev md:inline-block rtl:!hidden dark:!hidden" src="/img/new/arrow-left.svg" alt="">
<img class="fixed right-[-6px] top-[52%] swiper-button-next unique-swiper-button-next md:inline-block rtl:!hidden dark:!hidden" src="/img/new/arrow-right.svg" alt="">
<img class="fixed left-[-3px] top-[52%] swiper-button-prev unique-swiper-button-prev hidden dark:md:inline-block rtl:!hidden" src="/img/new/arrow-left-dark.svg" alt="">
<img class="fixed right-[-6px] top-[52%] swiper-button-next unique-swiper-button-next hidden dark:md:inline-block rtl:!hidden" src="/img/new/arrow-right-dark.svg" alt="">
<img class="fixed left-[-3px] top-[52%] swiper-button-next unique-swiper-button-next md:rtl:inline-block ltr:!hidden dark:!hidden" src="/img/new/arrow-left.svg" alt="">
<img class="fixed right-[-6px] top-[52%] swiper-button-prev unique-swiper-button-prev md:rtl:inline-block ltr:!hidden dark:!hidden" src="/img/new/arrow-right.svg" alt="">
<img class="fixed left-[-3px] top-[52%] swiper-button-next unique-swiper-button-next hidden md:dark:inline-block ltr:!hidden" src="/img/new/arrow-left-dark.svg" alt="">
<img class="fixed right-[-6px] top-[52%] swiper-button-prev unique-swiper-button-prev hidden md:dark:inline-block ltr:!hidden" src="/img/new/arrow-right-dark.svg" alt="">
<div class="swiper-pagination simplex-unique-swiper-pagination mt-100"></div>
</div>
</div>
</section>
<div id="privacy-of-identity-contacts-metadata" data-scroll-to="why-simplex" class="overlay hidden fixed top-0 left-0 bottom-0 right-0 before:absolute before:w-full before:h-full bg-transparent before:bg-secondary-bg-light dark:before:bg-primary-bg-dark before:opacity-90 items-center justify-center p-3 md:p-10 z-[10000]">
<div class="overlay-card w-full md:w-fit md:max-w-[1276px] bg-white dark:bg-card-bg-dark opacity-100 h-full md:h-fit md:max-h-[660px] z-[10001] rounded-md shadow-[0px_3px_12px_rgba(0,0,0,0.2)] p-6 py-10 sm:p-14 overflow-auto scale-100">
<h1 class="text-3xl font-bold text-active-blue mb-6 ">Full privacy of your identity, profile, contacts and metadata</h1>
<div class="flex flex-col-reverse lg:flex-row gap-10 justify-between">
<div class="lg:max-w-[448px]">
<div class="text-grey-black dark:text-white flex flex-col gap-6 text-base">
<p>
Unlike other messaging platforms, SimpleX has <strong>no identifiers assigned to the users</strong>. It does not rely on phone numbers, domain-based addresses (like email or XMPP), usernames, public keys or even random numbers to identify its users — we don't know how many people use our SimpleX servers.
</p>
<p>
To deliver messages SimpleX uses <a href="https://csrc.nist.gov/glossary/term/Pairwise_Pseudonymous_Identifier">pairwise anonymous addresses</a> of unidirectional message queues, separate for received and sent messages, usually via different servers. Using SimpleX is like having <strong>a different “burner” email or phone for each contact</strong>, and no hassle to manage them.
</p>
<p>
This design protects the privacy of who you are communicating with, hiding it from SimpleX platform servers and from any observers. To hide your IP address from the servers, you can <strong>connect to SimpleX servers via Tor</strong>.
</p>
</div>
</div>
<div class="max-w-[448px]">
<div class="flex items-center justify-center">
<img class="w-full max-w-[448px] min-w-[300px] dark:hidden" src="/img/new/unique-section-1.png" alt="">
<img class="w-full max-w-[448px] min-w-[300px] hidden dark:block" src="/img/new/unique-section-1-dark.png" alt="">
</div>
</div>
</div>
<svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z"></path>
</svg>
</div>
</div>
<div id="protection-from-spam-and-abuse" data-scroll-to="why-simplex" class="overlay hidden fixed top-0 left-0 bottom-0 right-0 before:absolute before:w-full before:h-full bg-transparent before:bg-secondary-bg-light dark:before:bg-primary-bg-dark before:opacity-90 items-center justify-center p-3 md:p-10 z-[10000]">
<div class="overlay-card w-full md:w-fit md:max-w-[1276px] bg-white dark:bg-card-bg-dark opacity-100 h-full md:h-fit md:max-h-[660px] z-[10001] rounded-md shadow-[0px_3px_12px_rgba(0,0,0,0.2)] p-6 py-10 sm:p-14 overflow-auto scale-100">
<h1 class="text-3xl font-bold text-active-blue mb-6 ">The best protection from spam and abuse</h1>
<div class="flex flex-col-reverse lg:flex-row gap-10 justify-between">
<div class="lg:max-w-[448px]">
<div class="text-grey-black dark:text-white flex flex-col gap-6 text-base">
<p>
Because you have no identifier on the SimpleX platform, nobody can contact you unless you share a one-time or temporary user address, as a QR code or a link.
</p>
<p>
Even with the optional user address, while it can be used to send spam contact requests, you can change or completely delete it without losing any of your connections.
</p>
</div>
</div>
<div class="max-w-[448px]">
<div class="flex items-center justify-center">
<img class="w-full max-w-[448px] min-w-[300px] dark:hidden" src="/img/new/unique-section-2.png" alt="">
<img class="w-full max-w-[448px] min-w-[300px] hidden dark:block" src="/img/new/unique-section-2-dark.png" alt="">
</div>
</div>
</div>
<svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z"></path>
</svg>
</div>
</div>
<div id="you-control-your-data" data-scroll-to="why-simplex" class="overlay hidden fixed top-0 left-0 bottom-0 right-0 before:absolute before:w-full before:h-full bg-transparent before:bg-secondary-bg-light dark:before:bg-primary-bg-dark before:opacity-90 items-center justify-center p-3 md:p-10 z-[10000]">
<div class="overlay-card w-full md:w-fit md:max-w-[1276px] bg-white dark:bg-card-bg-dark opacity-100 h-full md:h-fit md:max-h-[660px] z-[10001] rounded-md shadow-[0px_3px_12px_rgba(0,0,0,0.2)] p-6 py-10 sm:p-14 overflow-auto scale-100">
<h1 class="text-3xl font-bold text-active-blue mb-6 ">Ownership, control and security of your data</h1>
<div class="flex flex-col-reverse lg:flex-row gap-10 justify-between">
<div class="lg:max-w-[448px]">
<div class="text-grey-black dark:text-white flex flex-col gap-6 text-base">
<p>
SimpleX Chat stores all user data only on client devices using a <strong>portable encrypted database format</strong> that can be exported and transferred to any supported device.
</p>
<p>
The end-to-end encrypted messages are held temporarily on SimpleX relay servers until received, then they are permanently deleted.
</p>
<p>
Unlike federated networks servers (email, XMPP or Matrix), SimpleX servers don't store user accounts, they only relay messages, protecting the privacy of both parties.
</p>
<p>
There are no identifiers or ciphertext in common between sent and received server traffic — if anybody is observing it, they cannot easily determine who communicates with whom, even if TLS is compromised.
</p>
</div>
</div>
<div class="max-w-[448px]">
<div class="flex items-center justify-center">
<img class="w-full max-w-[448px] min-w-[300px] dark:hidden" src="/img/new/unique-section-3.png" alt="">
<img class="w-full max-w-[448px] min-w-[300px] hidden dark:block" src="/img/new/unique-section-3-dark.png" alt="">
</div>
</div>
</div>
<svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z"></path>
</svg>
</div>
</div>
<div id="you-own-simplex-network" data-scroll-to="why-simplex" class="overlay hidden fixed top-0 left-0 bottom-0 right-0 before:absolute before:w-full before:h-full bg-transparent before:bg-secondary-bg-light dark:before:bg-primary-bg-dark before:opacity-90 items-center justify-center p-3 md:p-10 z-[10000]">
<div class="overlay-card w-full md:w-fit md:max-w-[1276px] bg-white dark:bg-card-bg-dark opacity-100 h-full md:h-fit md:max-h-[660px] z-[10001] rounded-md shadow-[0px_3px_12px_rgba(0,0,0,0.2)] p-6 py-10 sm:p-14 overflow-auto scale-100">
<h1 class="text-3xl font-bold text-active-blue mb-6 ">Fully decentralised — users own the SimpleX network</h1>
<div class="flex flex-col-reverse lg:flex-row gap-10 justify-between">
<div class="lg:max-w-[448px]">
<div class="text-grey-black dark:text-white flex flex-col gap-6 text-base">
<p>
You can <strong>use SimpleX with your own servers</strong> and still communicate with people who use the pre-configured servers provided by us.
</p>
<p>
SimpleX platform uses an <a href="https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md" target="_blank">open protocol</a> and provides <a href="https://github.com/simplex-chat/simplex-chat/tree/stable/packages/simplex-chat-client/typescript" target="_blank">SDK to create chat bots</a>, allowing implementation of services that users can interact with via SimpleX Chat apps — we're really looking forward to see what SimpleX services you can build.
</p>
<p>
If you are considering developing for the SimpleX platform, for example, the chat bot for SimpleX app users, or the integration of the SimpleX Chat library into your mobile apps, please <a href="https://simplex.chat/contact#/?v=1&amp;smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FK1rslx-m5bpXVIdMZg9NLUZ_8JBm8xTt%23MCowBQYDK2VuAyEALDeVe-sG8mRY22LsXlPgiwTNs9dbiLrNuA7f3ZMAJ2w%3D" target="_blank">get in touch</a> for any advice and support.
</p>
</div>
</div>
<div class="max-w-[448px]">
<div class="flex items-center justify-center">
<img class="w-full max-w-[448px] min-w-[300px] dark:hidden" src="/img/new/unique-section-4.png" alt="">
<img class="w-full max-w-[448px] min-w-[300px] hidden dark:block" src="/img/new/unique-section-4-dark.png" alt="">
</div>
</div>
</div>
<svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z"></path>
</svg>
</div>
</div>
<script>
window.addEventListener('load', function() {
window.addEventListener('click',e=>{
if(e.target.closest('.open-card-btn') || e.target.closest('.close-card-btn')){
e.target.closest('.simplex-unique-card').classList.toggle('active-card');
e.target.closest('.hide-show-btn').querySelector('.open-card-btn').classList.toggle('hidden');
e.target.closest('.hide-show-btn').querySelector('.open-card-btn').classList.toggle('flex');
e.target.closest('.hide-show-btn').querySelector('.close-card-btn').classList.toggle('hidden');
e.target.closest('.hide-show-btn').querySelector('.close-card-btn').classList.toggle('flex');
}
})
});
</script>
<section id="features" class="bg-secondary-bg-light dark:bg-secondary-bg-dark py-[95px] px-5 lg:h-[888px]">
<div class="container">
<h2 class="text-[35px] leading-[45px] md:leading-[55px] lg:text-[45px] text-center font-bold gradient-text mb-20">Features</h2>
<div class="mb-[50px] grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-x-10 gap-y-32">
<div class="flex flex-col items-center">
<div class="bg-white flex items-center justify-center w-[175px] h-[110px] rounded-[20px] border-[#859096] border-solid border-[1px] shadow-[2px_2px_0px_#859096] dark:border-none dark:shadow-none mb-[20px] border-gradient">
<img src="/img/new/feature-1.svg" alt="" class="dark:hidden">
<img src="/img/new/feature-1-dark.svg" alt="" class="hidden dark:block">
</div>
<p class="text-grey-black dark:text-white text-[16px] font-medium text-center w-full max-w-[265px]">E2E-encrypted messages with markdown and editing</p>
</div>
<div class="flex flex-col items-center">
<div class="bg-white flex items-center justify-center w-[175px] h-[110px] rounded-[20px] border-[#859096] border-solid border-[1px] shadow-[2px_2px_0px_#859096] dark:border-none dark:shadow-none mb-[20px] border-gradient">
<img src="/img/new/feature-2.svg" alt="" class="dark:hidden">
<img src="/img/new/feature-2-dark.svg" alt="" class="hidden dark:block">
</div>
<p class="text-grey-black dark:text-white text-[16px] font-medium text-center w-full max-w-[265px]">E2E-encrypted<br>images, videos and files</p>
</div>
<div class="flex flex-col items-center">
<div class="bg-white flex items-center justify-center w-[175px] h-[110px] rounded-[20px] border-[#859096] border-solid border-[1px] shadow-[2px_2px_0px_#859096] dark:border-none dark:shadow-none mb-[20px] border-gradient">
<img src="/img/new/feature-3.svg" alt="" class="dark:hidden">
<img src="/img/new/feature-3-dark.svg" alt="" class="hidden dark:block">
</div>
<p class="text-grey-black dark:text-white text-[16px] font-medium text-center w-full max-w-[265px]">E2E-encrypted decentralized groups — only users know they exist</p>
</div>
<div class="flex flex-col items-center">
<div class="bg-white flex items-center justify-center w-[175px] h-[110px] rounded-[20px] border-[#859096] border-solid border-[1px] shadow-[2px_2px_0px_#859096] dark:border-none dark:shadow-none mb-[20px] border-gradient">
<img src="/img/new/feature-4.svg" alt="" class="dark:hidden">
<img src="/img/new/feature-4-dark.svg" alt="" class="hidden dark:block">
</div>
<p class="text-grey-black dark:text-white text-[16px] font-medium text-center w-full max-w-[265px]">E2E-encrypted voice messages</p>
</div>
<div class="flex flex-col items-center">
<div class="bg-white flex items-center justify-center w-[175px] h-[110px] rounded-[20px] border-[#859096] border-solid border-[1px] shadow-[2px_2px_0px_#859096] dark:border-none dark:shadow-none mb-[20px] border-gradient">
<img src="/img/new/feature-5.svg" alt="" class="dark:hidden">
<img src="/img/new/feature-5-dark.svg" alt="" class="hidden dark:block">
</div>
<p class="text-grey-black dark:text-white text-[16px] font-medium text-center w-full max-w-[265px]">Disappearing messages</p>
</div>
<div class="flex flex-col items-center">
<div class="bg-white flex items-center justify-center w-[175px] h-[110px] rounded-[20px] border-[#859096] border-solid border-[1px] shadow-[2px_2px_0px_#859096] dark:border-none dark:shadow-none mb-[20px] border-gradient">
<img src="/img/new/feature-6.svg" alt="" class="dark:hidden">
<img src="/img/new/feature-6-dark.svg" alt="" class="hidden dark:block">
</div>
<p class="text-grey-black dark:text-white text-[16px] font-medium text-center w-full max-w-[265px]">E2E-encrypted<br>audio and video calls</p>
</div>
<div class="flex flex-col items-center">
<div class="bg-white flex items-center justify-center w-[175px] h-[110px] rounded-[20px] border-[#859096] border-solid border-[1px] shadow-[2px_2px_0px_#859096] dark:border-none dark:shadow-none mb-[20px] border-gradient">
<img src="/img/new/feature-7.svg" alt="" class="dark:hidden">
<img src="/img/new/feature-7-dark.svg" alt="" class="hidden dark:block">
</div>
<p class="text-grey-black dark:text-white text-[16px] font-medium text-center w-full max-w-[265px]">Portable encrypted app storage — move profile to another device</p>
</div>
<div class="flex flex-col items-center">
<div class="bg-white flex items-center justify-center w-[175px] h-[110px] rounded-[20px] border-[#859096] border-solid border-[1px] shadow-[2px_2px_0px_#859096] dark:border-none dark:shadow-none mb-[20px] border-gradient">
<img src="/img/new/feature-8.svg" alt="" class="dark:hidden">
<img src="/img/new/feature-8-dark.svg" alt="" class="hidden dark:block">
</div>
<p class="text-grey-black dark:text-white text-[16px] font-medium text-center w-full max-w-[265px]">Incognito mode —<br>unique to SimpleX Chat</p>
</div>
</div>
</div>
</section>
<section id="privacy" class="bg-primary-bg-light dark:bg-primary-bg-dark py-[90px] overflow-hidden px-5 lg:h-[888px]">
<div class="container scale-100">
<h2 class="text-grey-black dark:text-white text-[35px] leading-[45px] md:leading-[55px] lg:text-[45px] text-center font-bold mb-20">What makes SimpleX <span class="gradient-text">private</span></h2>
<div class="swiper private-swiper overflow-hidden px-4 py-2">
<div class="swiper-wrapper mb-16">
<div class="card swiper-slide relative h-[480px] rounded-[20px] bg-card-bg-light dark:bg-card-bg-dark border-[#859096] border-solid border-[1px] dark:border-none shadow-[2px_2px_0px_#859096] dark:shadow-none overflow-hidden">
<div class="flex items-center justify-center py-12 px-6 h-[322px]">
<img class="w-full max-w-[223px] h-full max-h-[226px] dark:hidden" src="/img/new/private-10.svg" alt="">
<img class="w-full max-w-[223px] h-full max-h-[226px] hidden dark:block" src="/img/new/private-10-dark.svg" alt="">
</div>
<div class="card-content flex flex-col items-center justify-between h-[138px] absolute bottom-0 py-6 px-6 bg-card-desc-bg-light dark:bg-card-desc-bg-dark rounded-b-[20px]">
<h3 class="text-grey-black dark:text-white text-[18px] my-4 font-bold leading-[26px] tracking-[0.01em] text-center">Temporary anonymous pairwise identifiers</h3>
<div class="flex-1 py-3 flex flex-col gap-3">
<p class="text-grey-black dark:text-white text-[14px] text-center">SimpleX uses temporary anonymous pairwise addresses and credentials for each user contact or group member.</p>
<p class="text-grey-black dark:text-white text-[14px] text-center">It allows to deliver messages without user profile identifiers, providing better meta-data privacy than alternatives.</p>
</div>
<p class="text-grey-black dark:text-white text-[12px] text-center">Tap to close</p>
</div>
</div>
<div class="card swiper-slide relative h-[480px] rounded-[20px] bg-card-bg-light dark:bg-card-bg-dark border-[#859096] border-solid border-[1px] dark:border-none shadow-[2px_2px_0px_#859096] dark:shadow-none overflow-hidden">
<div class="flex items-center justify-center py-12 px-6 h-[322px]">
<img class="w-full max-w-[223px] h-full max-h-[226px] dark:hidden" src="/img/new/private-6.svg" alt="">
<img class="w-full max-w-[223px] h-full max-h-[226px] hidden dark:block" src="/img/new/private-6-dark.svg" alt="">
</div>
<div class="card-content flex flex-col items-center justify-between h-[138px] absolute bottom-0 py-6 px-6 bg-card-desc-bg-light dark:bg-card-desc-bg-dark rounded-b-[20px]">
<h3 class="text-grey-black dark:text-white text-[18px] my-4 font-bold leading-[26px] tracking-[0.01em] text-center">Out-of-band<br><span data-glossary="tooltip-key-exchange" class="glossary-term">Key exchange</span></h3>
<div class="flex-1 py-3 flex flex-col gap-3">
<p class="text-grey-black dark:text-white text-[14px] text-center">Many communication platforms are vulnerable to MITM attacks by servers or network providers.</p>
<p class="text-grey-black dark:text-white text-[14px] text-center">To prevent it SimpleX apps pass one-time keys out-of-band, when you share an address as a link or a QR code.</p>
</div>
<p class="text-grey-black dark:text-white text-[12px] text-center">Tap to close</p>
</div>
</div>
<div class="card swiper-slide relative h-[480px] rounded-[20px] bg-card-bg-light dark:bg-card-bg-dark border-[#859096] border-solid border-[1px] dark:border-none shadow-[2px_2px_0px_#859096] dark:shadow-none overflow-hidden">
<div class="flex items-center justify-center py-12 px-6 h-[322px]">
<img class="w-full max-w-[223px] h-full max-h-[226px] dark:hidden" src="/img/new/private-1.svg" alt="">
<img class="w-full max-w-[223px] h-full max-h-[226px] hidden dark:block" src="/img/new/private-1-dark.svg" alt="">
</div>
<div class="card-content flex flex-col items-center justify-between h-[138px] absolute bottom-0 py-6 px-6 bg-card-desc-bg-light dark:bg-card-desc-bg-dark rounded-b-[20px]">
<h3 class="text-grey-black dark:text-white text-[18px] my-4 font-bold leading-[26px] tracking-[0.01em] text-center">2-layers of<br><span data-glossary="tooltip-end-to-end-encryption" class="glossary-term">End-to-end encryption</span></h3>
<div class="flex-1 py-3 flex flex-col gap-3">
<p class="text-grey-black dark:text-white text-[14px] text-center">Double-ratchet protocol —<br>OTR messaging with perfect <span data-glossary="tooltip-forward-secrecy" class="glossary-term">Forward secrecy</span> and <span data-glossary="tooltip-break-in-recovery" class="glossary-term">Break-in recovery</span>.</p>
<p class="text-grey-black dark:text-white text-[14px] text-center">NaCL cryptobox in each queue to prevent traffic correlation between message queues if TLS is compromised.</p>
</div>
<p class="text-grey-black dark:text-white text-[12px] text-center">Tap to close</p>
</div>
</div>
<div class="card swiper-slide relative h-[480px] rounded-[20px] bg-card-bg-light dark:bg-card-bg-dark border-[#859096] border-solid border-[1px] dark:border-none shadow-[2px_2px_0px_#859096] dark:shadow-none overflow-hidden">
<div class="flex items-center justify-center py-12 px-6 h-[322px]">
<img class="w-full max-w-[223px] h-full max-h-[226px] dark:hidden" src="/img/new/private-7.svg" alt="">
<img class="w-full max-w-[223px] h-full max-h-[226px] hidden dark:block" src="/img/new/private-7-dark.svg" alt="">
</div>
<div class="card-content flex flex-col items-center justify-between h-[138px] absolute bottom-0 py-6 px-6 bg-card-desc-bg-light dark:bg-card-desc-bg-dark rounded-b-[20px]">
<h3 class="text-grey-black dark:text-white text-[18px] my-4 font-bold leading-[26px] tracking-[0.01em] text-center">Message integrity<br>verification</h3>
<div class="flex-1 py-3 flex flex-col gap-3">
<p class="text-grey-black dark:text-white text-[14px] text-center">To guarantee integrity the messages are sequentially numbered and include the hash of the previous message.</p>
<p class="text-grey-black dark:text-white text-[14px] text-center">If any message is added, removed or changed the recipient will be alerted.</p>
</div>
<p class="text-grey-black dark:text-white text-[12px] text-center">Tap to close</p>
</div>
</div>
<div class="card swiper-slide relative h-[480px] rounded-[20px] bg-card-bg-light dark:bg-card-bg-dark border-[#859096] border-solid border-[1px] dark:border-none shadow-[2px_2px_0px_#859096] dark:shadow-none overflow-hidden">
<div class="flex items-center justify-center py-12 px-6 h-[322px]">
<img class="w-full max-w-[223px] h-full max-h-[226px] dark:hidden" src="/img/new/private-2.svg" alt="">
<img class="w-full max-w-[223px] h-full max-h-[226px] hidden dark:block" src="/img/new/private-2-dark.svg" alt="">
</div>
<div class="card-content flex flex-col items-center justify-between h-[138px] absolute bottom-0 py-6 px-6 bg-card-desc-bg-light dark:bg-card-desc-bg-dark rounded-b-[20px]">
<h3 class="text-grey-black dark:text-white text-[18px] my-4 font-bold leading-[26px] tracking-[0.01em] text-center">Additional layer of<br>server encryption</h3>
<div class="flex-1 py-3 flex flex-col gap-3">
<p class="text-grey-black dark:text-white text-[14px] text-center">Additional layer of server encryption for delivery to the recipient, to prevent the correlation between received and sent server traffic if TLS is compromised.</p>
</div>
<p class="text-grey-black dark:text-white text-[12px] text-center">Tap to close</p>
</div>
</div>
<div class="card swiper-slide relative h-[480px] rounded-[20px] bg-card-bg-light dark:bg-card-bg-dark border-[#859096] border-solid border-[1px] dark:border-none shadow-[2px_2px_0px_#859096] dark:shadow-none overflow-hidden">
<div class="flex items-center justify-center py-12 px-6 h-[322px]">
<img class="w-full max-w-[223px] h-full max-h-[226px] dark:hidden" src="/img/new/private-8.svg" alt="">
<img class="w-full max-w-[223px] h-full max-h-[226px] hidden dark:block" src="/img/new/private-8-dark.svg" alt="">
</div>
<div class="card-content flex flex-col items-center justify-between h-[138px] absolute bottom-0 py-6 px-6 bg-card-desc-bg-light dark:bg-card-desc-bg-dark rounded-b-[20px]">
<h3 class="text-grey-black dark:text-white text-[18px] my-4 font-bold leading-[26px] tracking-[0.01em] text-center">Message mixing<br>to reduce correlation</h3>
<div class="flex-1 py-3 flex flex-col gap-3">
<p class="text-grey-black dark:text-white text-[14px] text-center">SimpleX servers act as low latency mix nodes — the incoming and outgoing messages have different order.</p>
</div>
<p class="text-grey-black dark:text-white text-[12px] text-center">Tap to close</p>
</div>
</div>
<div class="card swiper-slide relative h-[480px] rounded-[20px] bg-card-bg-light dark:bg-card-bg-dark border-[#859096] border-solid border-[1px] dark:border-none shadow-[2px_2px_0px_#859096] dark:shadow-none overflow-hidden">
<div class="flex items-center justify-center py-12 px-6 h-[322px]">
<img class="w-full max-w-[223px] h-full max-h-[226px] dark:hidden" src="/img/new/private-3.svg" alt="">
<img class="w-full max-w-[223px] h-full max-h-[226px] hidden dark:block" src="/img/new/private-3-dark.svg" alt="">
</div>
<div class="card-content flex flex-col items-center justify-between h-[138px] absolute bottom-0 py-6 px-6 bg-card-desc-bg-light dark:bg-card-desc-bg-dark rounded-b-[20px]">
<h3 class="text-grey-black dark:text-white text-[18px] my-4 font-bold leading-[26px] tracking-[0.01em] text-center">Secure authenticated<br>TLS transport</h3>
<div class="flex-1 py-3 flex flex-col gap-3">
<p class="text-grey-black dark:text-white text-[14px] text-center">Only TLS 1.2/1.3 with strong algorithms is used for client-server connections.</p>
<p class="text-grey-black dark:text-white text-[14px] text-center">Server fingerprint and channel binding prevent MITM and replay attacks.</p>
<p class="text-grey-black dark:text-white text-[14px] text-center">Connection resumption is disabled to prevent session attacks.</p>
</div>
<p class="text-grey-black dark:text-white text-[12px] text-center">Tap to close</p>
</div>
</div>
<div class="card swiper-slide relative h-[480px] rounded-[20px] bg-card-bg-light dark:bg-card-bg-dark border-[#859096] border-solid border-[1px] dark:border-none shadow-[2px_2px_0px_#859096] dark:shadow-none overflow-hidden">
<div class="flex items-center justify-center py-12 px-6 h-[322px]">
<img class="w-full max-w-[223px] h-full max-h-[226px] dark:hidden" src="/img/new/private-4.svg" alt="">
<img class="w-full max-w-[223px] h-full max-h-[226px] hidden dark:block" src="/img/new/private-4-dark.svg" alt="">
</div>
<div class="card-content flex flex-col items-center justify-between h-[138px] absolute bottom-0 py-6 px-6 bg-card-desc-bg-light dark:bg-card-desc-bg-dark rounded-b-[20px]">
<h3 class="text-grey-black dark:text-white text-[18px] my-4 font-bold leading-[26px] tracking-[0.01em] text-center">Optional<br>access via Tor</h3>
<div class="flex-1 py-3 flex flex-col gap-3">
<p class="text-grey-black dark:text-white text-[14px] text-center">To protect your IP address you can access the servers via Tor or some other transport <span data-glossary="tooltip-overlay-network" class="glossary-term">Overlay network</span>.</p>
<p class="text-grey-black dark:text-white text-[14px] text-center">To use SimpleX via Tor please install <a href="https://guardianproject.info/apps/org.torproject.android/" target="_blank">Orbot app</a> and enable SOCKS5 proxy (or VPN <a href="https://apps.apple.com/us/app/orbot/id1609461599?platform=iphone" target="_blank">on iOS</a>).</p>
</div>
<p class="text-grey-black dark:text-white text-[12px] text-center">Tap to close</p>
</div>
</div>
<div class="card swiper-slide relative h-[480px] rounded-[20px] bg-card-bg-light dark:bg-card-bg-dark border-[#859096] border-solid border-[1px] dark:border-none shadow-[2px_2px_0px_#859096] dark:shadow-none overflow-hidden">
<div class="flex items-center justify-center py-12 px-6 h-[322px]">
<img class="w-full max-w-[223px] h-full max-h-[226px] dark:hidden" src="/img/new/private-9.svg" alt="">
<img class="w-full max-w-[223px] h-full max-h-[226px] hidden dark:block" src="/img/new/private-9-dark.svg" alt="">
</div>
<div class="card-content flex flex-col items-center justify-between h-[138px] absolute bottom-0 py-6 px-6 bg-card-desc-bg-light dark:bg-card-desc-bg-dark rounded-b-[20px]">
<h3 class="text-grey-black dark:text-white text-[18px] my-4 font-bold leading-[26px] tracking-[0.01em] text-center">Unidirectional<br>message queues</h3>
<div class="flex-1 py-3 flex flex-col gap-3">
<p class="text-grey-black dark:text-white text-[14px] text-center">Each message queue passes messages in one direction, with the different send and receive addresses.</p>
<p class="text-grey-black dark:text-white text-[14px] text-center">It reduces the attack vectors, compared with traditional message brokers, and available meta-data.</p>
</div>
<p class="text-grey-black dark:text-white text-[12px] text-center">Tap to close</p>
</div>
</div>
<div class="card swiper-slide relative h-[480px] rounded-[20px] bg-card-bg-light dark:bg-card-bg-dark border-[#859096] border-solid border-[1px] dark:border-none shadow-[2px_2px_0px_#859096] dark:shadow-none overflow-hidden">
<div class="flex items-center justify-center py-12 px-6 h-[322px]">
<img class="w-full max-w-[223px] h-full max-h-[226px] dark:hidden" src="/img/new/private-5.svg" alt="">
<img class="w-full max-w-[223px] h-full max-h-[226px] hidden dark:block" src="/img/new/private-5-dark.svg" alt="">
</div>
<div class="card-content flex flex-col items-center justify-between h-[138px] absolute bottom-0 py-6 px-6 bg-card-desc-bg-light dark:bg-card-desc-bg-dark rounded-b-[20px]">
<h3 class="text-grey-black dark:text-white text-[18px] my-4 font-bold leading-[26px] tracking-[0.01em] text-center">Multiple layers of<br><span data-glossary="tooltip-content-padding" class="glossary-term">Content padding</span></h3>
<div class="flex-1 py-3 flex flex-col gap-3">
<p class="text-grey-black dark:text-white text-[14px] text-center">SimpleX uses <span data-glossary="tooltip-content-padding" class="glossary-term">Content padding</span> for each encryption layer to frustrate message size attacks.</p>
<p class="text-grey-black dark:text-white text-[14px] text-center">It makes messages of different sizes look the same to the servers and network observers.</p>
</div>
<p class="text-grey-black dark:text-white text-[12px] text-center">Tap to close</p>
</div>
</div>
</div>
<img class="fixed left-[-3px] top-[52%] swiper-button-prev private-swiper-button-prev md:inline-block rtl:!hidden dark:!hidden" src="/img/new/arrow-left.svg" alt="">
<img class="fixed right-[-6px] top-[52%] swiper-button-next private-swiper-button-next md:inline-block rtl:!hidden dark:!hidden" src="/img/new/arrow-right.svg" alt="">
<img class="fixed left-[-3px] top-[52%] swiper-button-prev private-swiper-button-prev hidden dark:md:inline-block rtl:!hidden" src="/img/new/arrow-left-dark.svg" alt="">
<img class="fixed right-[-6px] top-[52%] swiper-button-next private-swiper-button-next hidden dark:md:inline-block rtl:!hidden" src="/img/new/arrow-right-dark.svg" alt="">
<img class="fixed left-[-3px] top-[52%] swiper-button-next private-swiper-button-next md:rtl:inline-block ltr:!hidden dark:!hidden" src="/img/new/arrow-left.svg" alt="">
<img class="fixed right-[-6px] top-[52%] swiper-button-prev private-swiper-button-prev md:rtl:inline-block ltr:!hidden dark:!hidden" src="/img/new/arrow-right.svg" alt="">
<img class="fixed left-[-3px] top-[52%] swiper-button-next private-swiper-button-next hidden md:dark:inline-block ltr:!hidden" src="/img/new/arrow-left-dark.svg" alt="">
<img class="fixed right-[-6px] top-[52%] swiper-button-prev private-swiper-button-prev hidden md:dark:inline-block ltr:!hidden" src="/img/new/arrow-right-dark.svg" alt="">
<div class="swiper-scrollbar dark:bg-grey-black dark:bg-opacity-[0.2]"></div>
</div>
</div>
</section>
<section id="network" class="bg-secondary-bg-light dark:bg-secondary-bg-dark lg:h-[642px] py-[95px] px-5">
<div class="container">
<h2 class="text-grey-black dark:text-white text-[35px] leading-[45px] md:leading-[55px] lg:text-[45px] text-center font-bold mb-5">SimpleX <span class="gradient-text">Network</span></h2>
<p class="text-black dark:text-white text-[16px] font-normal text-center mb-16">Simplex Chat provides the best privacy by combining the advantages of P2P and federated networks.</p>
<div class="flex flex-col lg:flex-row justify-between gap-12 md:gap-14 lg:gap-16">
<div class="flex flex-col md:flex-row lg:flex-col items-center md:gap-9 lg:gap-0">
<div class="mb-4 md:mb-0 lg:mb-8 md:flex-[1] flex items-center justify-center">
<img src="/img/new/network-1.svg" alt="" class="dark:hidden">
<img src="/img/new/network-1-dark.svg" alt="" class="hidden dark:block">
</div>
<div class="md:flex-[2] flex flex-col items-center justify-center">
<h3 class="text-active-blue text-xl font-bold text-center md:text-left lg:text-center self-stretch">Unlike P2P networks</h3>
<p class="text-black dark:text-white text-base font-normal text-center md:text-left lg:text-center">
All messages are sent via the servers, both providing better metadata privacy and reliable asynchronous message delivery, while avoiding many <a href="javascript:void(0)" data-show-overlay="comparison-with-p2p-protocols" class="open-overlay-btn">problems of P2P networks</a>.
</p><div id="comparison-with-p2p-protocols" data-scroll-to="network" class="overlay hidden fixed top-0 left-0 bottom-0 right-0 before:absolute before:w-full before:h-full bg-transparent before:bg-secondary-bg-light dark:before:bg-primary-bg-dark before:opacity-90 items-center justify-center p-3 md:p-10 z-[10000]">
<div class="overlay-card w-full md:w-fit md:max-w-[1276px] bg-white dark:bg-card-bg-dark opacity-100 h-full md:h-fit md:max-h-[660px] z-[10001] rounded-md shadow-[0px_3px_12px_rgba(0,0,0,0.2)] p-6 py-10 sm:p-14 overflow-auto scale-100">
<h1 class="text-3xl font-bold text-active-blue mb-6 ">Comparison with P2P messaging protocols</h1>
<div class="flex flex-col-reverse lg:flex-row gap-10 justify-between">
<div class="lg:max-w-[448px]">
<div class="text-grey-black dark:text-white flex flex-col gap-6 text-base">
<p>
<a href="https://en.wikipedia.org/wiki/Peer-to-peer">P2P</a> messaging protocols and apps have various problems that make them less reliable than SimpleX, more complex to analyse, and vulnerable to several types of attack.
</p>
<ol style="list-style: auto; padding-left: 1em;">
<li>
P2P networks rely on some variant of <a href="https://en.wikipedia.org/wiki/Distributed_hash_table">DHT</a> to route messages. DHT designs have to balance delivery guarantee and latency. SimpleX has both better delivery guarantee and lower latency than P2P, because the message can be redundantly passed via several servers in parallel, using the servers chosen by the recipient. In P2P networks the message is passed through <em>O(log N)</em> nodes sequentially, using nodes chosen by the algorithm.
</li>
<li>
SimpleX design, unlike most P2P networks, has no global user identifiers of any kind, even temporary, and only uses temporary pairwise identifiers, providing better anonymity and metadata protection.
</li>
<li>
P2P does not solve <a href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack"><span data-glossary="tooltip-mitm-attack" class="glossary-term">MITM attack</span></a> problem, and most existing implementations do not use out-of-band messages for the initial key exchange. SimpleX uses out-of-band messages or, in some cases, pre-existing secure and trusted connections for the initial key exchange.
</li>
<li>
P2P implementations can be blocked by some Internet providers (like <a href="https://en.wikipedia.org/wiki/BitTorrent">BitTorrent</a>). SimpleX is transport agnostic - it can work over standard web protocols, e.g. WebSockets.
</li>
<li>
All known P2P networks may be vulnerable to <a href="https://en.wikipedia.org/wiki/Sybil_attack">Sybil attack</a>, because each node is discoverable, and the network operates as a whole. Known measures to mitigate it require either a centralized component or expensive <a href="https://en.wikipedia.org/wiki/Proof_of_work">proof of work</a>. SimpleX network has no server discoverability, it is fragmented and operates as multiple isolated sub-networks, making network-wide attacks impossible.
</li>
<li>
P2P networks may be vulnerable to <a href="https://www.usenix.org/conference/woot15/workshop-program/presentation/p2p-file-sharing-hell-exploiting-bittorrent">DRDoS attack</a>, when the clients can rebroadcast and amplify traffic, resulting in network-wide denial of service. SimpleX clients only relay traffic from known connection and cannot be used by an attacker to amplify the traffic in the whole network.
</li>
</ol>
</div>
</div>
<div class="max-w-[448px]">
<div class="flex items-center justify-center">
<img class="w-full max-w-[448px] min-w-[300px] dark:hidden" src="/img/new/network-1.svg" alt="">
<img class="w-full max-w-[448px] min-w-[300px] hidden dark:block" src="/img/new/network-1-dark.svg" alt="">
</div>
</div>
</div>
<svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.839522 -0.070157 0.427909 -0.059127 0.18094 0.207531C-0.0660305 0.474191 -0.0552645 0.895911 0.205003 1.14894L5.70862 6.49833L0.20247 11.851C-0.0577975 12.104 -0.0685635 12.5257 0.178407 12.7924C0.306324 12.9306 0.477936 13 0.650181 13C0.811033 13 0.971873 12.9397 1.09726 12.817L6.65343 7.41639L11.9025 12.5186C12.0285 12.6406 12.1893 12.7015 12.3495 12.7015C12.5218 12.7015 12.6934 12.6321 12.8213 12.4939C13.0689 12.2273 13.0582 11.8062 12.7973 11.5525Z"></path>
</svg>
</div>
</div>
<p></p>
</div>
</div>
<hr class="hidden md:block lg:hidden mx-5 dark:opacity-[0.2]">
<div class="flex flex-col md:flex-row lg:flex-col items-center md:gap-9 lg:gap-0">
<div class="mb-4 md:mb-0 lg:mb-8 md:flex-[1] flex items-center justify-center">
<img src="/img/new/network-2.svg" alt="" class="dark:hidden">
<img src="/img/new/network-2-dark.svg" alt="" class="hidden dark:block">
</div>
<div class="md:flex-[2] flex flex-col items-center justify-center">
<h3 class="text-active-blue text-xl font-bold text-center md:text-left lg:text-center self-stretch">Unlike federated networks</h3>
<p class="text-black dark:text-white text-base font-normal text-center md:text-left lg:text-center">
SimpleX relay servers do NOT store user profiles, contacts and delivered messages, do NOT connect to each other, and there is NO servers directory.
</p>
</div>
</div>
<hr class="hidden md:block lg:hidden mx-5 dark:opacity-[0.2]">
<div class="flex flex-col md:flex-row lg:flex-col items-center md:gap-9 lg:gap-0">
<div class="mb-4 md:mb-0 lg:mb-8 md:flex-[1] flex items-center justify-center">
<img src="/img/new/network-3.svg" alt="" class="dark:hidden">
<img src="/img/new/network-3-dark.svg" alt="" class="hidden dark:block">
</div>
<div class="md:flex-[2] flex flex-col items-center justify-center">
<h3 class="text-active-blue text-xl font-bold text-center md:text-left lg:text-center self-stretch">SimpleX network</h3>
<p class="text-black dark:text-white text-base font-normal text-center md:text-left lg:text-center">
servers provide <span class="text-active-blue">unidirectional queues</span> to connect the users, but they have no visibility of the network connection graph — only the users do.
</p>
</div>
</div>
</div>
</div>
</section>
<style>
.tab-button {
color: #a8b0b4;
background: linear-gradient(#fff, #fff) padding-box,
linear-gradient(to bottom, #a8b0b4, transparent) border-box;
border: 1px solid transparent;
border-radius: 6px 6px 0px 0px;
transition: color 0.3s ease;
text-decoration: underline;
text-underline-offset: 3px;
}
.dark .tab-button{
color: #fff;
background: linear-gradient(#0C0B13, #0C0B13) padding-box,
linear-gradient(to bottom, #01F1FF, transparent) border-box;
}
.tab-button.active {
color: #0053d0;
text-decoration: none;
}
.dark .tab-button.active {
color: #70F0F9;
}
</style>
<section id="simplex-explained" class="bg-primary-bg-light dark:bg-primary-bg-dark lg:h-[890px] py-[90px] px-5">
<div class="container">
<h2 class="text-[35px] leading-[45px] md:leading-[55px] lg:text-[38px] text-center font-bold text-grey-black dark:text-white mb-9">Simplex explained</h2>
<!-- Tab links -->
<div class="tabs hidden md:flex gap-2 mb-24">
<div data-btn-index="0" class="flex-1 tab-button tab-1 p-2 text-[20px] text-center font-bold cursor-pointer active">1. What users experience</div>
<div data-btn-index="1" class="flex-1 tab-button tab-2 p-2 text-[20px] text-center font-bold cursor-pointer">2. How does it work</div>
<div data-btn-index="2" class="flex-1 tab-button tab-3 p-2 text-[20px] text-center font-bold cursor-pointer">3. What servers see</div>
</div>
<div class="simplex-explained-lottie h-[340px] mb-[74px] hidden md:block"></div>
<!-- Tab content -->
<div class="swiper simplex-explained-swiper">
<div class="swiper-wrapper h-[inherit] mb-20 md:mb-0">
<div class="swiper-slide h-[inherit]">
<div class="tab-button p-2 text-[20px] text-center font-bold active md:hidden">1. What users experience</div>
<div class="flex flex-col justify-center items-center">
<img class="h-[340px] mb-[74px] mt-[74px] md:hidden" src="/img/new/explained-1.svg" alt="">
<p class="text-black dark:text-white text-[16px] font-normal text-center">
You can create contacts and groups, and have two-way conversations, as in any other messenger.
</p>
<p class="text-black dark:text-white text-[16px] font-normal text-center">
How can it work with unidirectional queues and without user profile identifiers?
</p>
</div>
</div>
<div class="swiper-slide h-[inherit]">
<div class="tab-button p-2 text-[20px] text-center font-bold active md:hidden">2. How does it work</div>
<div class="flex flex-col justify-center items-center">
<img class="h-[340px] mb-[74px] mt-[74px] md:hidden" src="/img/new/explained-2.svg" alt="">
<p class="text-black dark:text-white text-[16px] font-normal text-center">
For each connection you use two separate messaging queues to send and receive messages via different servers.
</p>
<p class="text-black dark:text-white text-[16px] font-normal text-center">
Servers only pass messages one way, without having the full picture of user's conversation or connections.
</p>
</div>
</div>
<div class="swiper-slide h-[inherit]">
<div class="tab-button p-2 text-[20px] text-center font-bold active md:hidden">3. What servers see</div>
<div class="flex flex-col justify-center items-center">
<img class="h-[340px] mb-[74px] mt-[74px] md:hidden" src="/img/new/explained-3.svg" alt="">
<p class="text-black dark:text-white text-[16px] font-normal text-center">
The servers have separate <span data-glossary="tooltip-anonymous-credentials" class="glossary-term">Anonymous credentials</span> for each queue, and do not know which users they belong to.
</p>
<p class="text-black dark:text-white text-[16px] font-normal text-center">
Users can further improve metadata privacy by using Tor to access servers, preventing corellation by IP address.
</p>
</div>
</div>
</div>
<div class="swiper-pagination simplex-explained-swiper-pagination mt-100 md:hidden"></div>
</div>
</div>
</section>
<script src="/js/lottie.min.js"></script>
<script>
window.addEventListener("load", function () {
const simplexExplainedSwiper__bullets = document.querySelectorAll(".simplex-explained-swiper .swiper-pagination > span");
const simplexExplainedSwiper__tabs = document.querySelectorAll("#simplex-explained .tabs .tab-button");
const simplexExplainedLottie = document.querySelector('.simplex-explained-lottie');
const simplexExplainedLottieAnimation = lottie.loadAnimation({
container: simplexExplainedLottie,
renderer: 'svg',
loop: false,
autoplay: false,
path: '/lottie_file/SimpleXExplainedLottie.json'
})
let targetFrame = null;
function animateToTarget() {
if (targetFrame !== null) {
const currentFrame = Math.round(simplexExplainedLottieAnimation.currentRawFrame);
if (currentFrame !== targetFrame) {
const direction = currentFrame < targetFrame ? 1 : -1;
simplexExplainedLottieAnimation.goToAndStop(currentFrame + direction, true);
setTimeout(animateToTarget, 22); // Add delay here
}
}
}
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.type === "attributes" && mutation.attributeName === "class" && mutation.target.classList.contains("swiper-pagination")) {
simplexExplainedSwiper__bullets.forEach((el,index) => {
if (el.classList.contains("swiper-pagination-bullet-active")) {
simplexExplainedSwiper__tabs[index].classList.add("active");
const currentFrame = Math.round(simplexExplainedLottieAnimation.currentRawFrame);
if(index === 0){
if (currentFrame > 0) {
targetFrame = 0;
animateToTarget();
}
}else if(index === 1){
if (currentFrame !== 35) {
targetFrame = 35;
animateToTarget();
}
}else if(index === 2){
if (currentFrame < 68) {
targetFrame = 68;
animateToTarget();
}
}
} else {
simplexExplainedSwiper__tabs[index].classList.remove("active");
}
});
}
});
});
const targetNode = document.querySelector(".simplex-explained-swiper .swiper-pagination");
observer.observe(targetNode, { attributes: true });
window.addEventListener('click',e=>{
if(e.target.closest("#simplex-explained .tabs .tab-button")){
const index = e.target.closest("#simplex-explained .tabs .tab-button").dataset.btnIndex;
simplexExplainedSwiper__bullets[index].click();
}
})
});
</script>
<section id="comparison" class="bg-secondary-bg-light dark:bg-secondary-bg-dark lg:h-[950px] py-[90px] px-5">
<div class="text-grey-black dark:text-white container flex flex-col">
<h2 class="text-[35px] leading-[43px] md:leading-[55px] lg:leading-[36px] text-center font-bold mb-12 lg:mb-[90px]">Comparison with other protocols</h2>
<div class="w-full overflow-auto">
<table class="w-full border-separate border-spacing-x-5 border-spacing-y-2 mb-14">
<thead>
<tr>
<th></th>
<th class="flex items-center justify-center pb-4">
<img class="h-[34px] dark:hidden" alt="simplex logo" src="/img/new/logo-light.png">
<img class="h-[34px] hidden dark:block" alt="simplex logo" src="/img/new/logo-dark.png">
</th>
<th class="pb-4">Signal, big platforms</th>
<th class="pb-4">XMPP, Matrix</th>
<th class="pb-4">P2P protocols</th>
</tr>
</thead>
<tbody>
<tr>
<td class="min-w-[210px]">Requires global identity</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">No - private</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes <sup>1</sup></td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes <sup>2</sup></td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes <sup>3</sup></td>
</tr>
<tr>
<td class="min-w-[210px]">Possibility of MITM</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">No - secure <sup>4</sup></td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes <sup>5</sup></td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes</td>
</tr>
<tr>
<td class="min-w-[210px]">Dependence on DNS</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">No - resilient</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">No</td>
</tr>
<tr>
<td class="min-w-[210px]">Single or <span data-glossary="tooltip-centralized-network" class="glossary-term">Centralized network</span></td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">No - decentralized</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">No - federated <sup>6</sup></td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes <sup>7</sup></td>
</tr>
<tr>
<td class="min-w-[210px]">Central component or other network-wide attack</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#48F6C2] text-grey-black rounded-[4px]">No - resilient</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes</td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes <sup>2</sup></td>
<td class="text-center font-medium min-w-[152px] h-[52px] bg-[#fff] dark:bg-[#171F3A] text-[#DD0000] rounded-[4px]">Yes <sup>8</sup></td>
</tr>
</tbody>
</table>
</div>
<hr class="block mb-8 mx-5 dark:opacity-[0.2]">
<div>
<div class="px-5">
<ol class="text-sm lg:text-base font-medium leading-6 list-decimal list-inside">
<li> Usually based on a phone number, in some cases on usernames</li>
<li> DNS-based addresses</li>
<li> Public key or some other globally unique ID</li>
<li> SimpleX relays cannot compromise e2e encryption. Verify security code to mitigate attack on out-of-band channel</li>
<li> If operators servers are compromised. Verify security code in Signal and some other apps to mitigate it</li>
<li> Does not protect users' metadata privacy</li>
<li> While P2P are distributed, they are not federated - they operate as a single network</li>
<li> P2P networks either have a central authority or the whole network can be compromised - <a class="underline text-primary-light dark:text-primary-dark underline-offset-2" href="https://github.com/simplex-chat/simplex-chat/blob/stable/docs/SIMPLEX.md#comparison-with-p2p-messaging-protocols">see here</a></li>
</ol>
</div>
</div>
</div>
</section>
<section id="join-simplex" class="bg-primary-bg-light dark:bg-primary-bg-dark lg:h-[855px] py-[90px] px-5">
<div class="container flex flex-col items-center">
<h2 class="text-[38px] leading-[36px] md:leading-[55px] text-grey-black dark:text-white text-center font-bold mb-5"><span class="text-active-blue">Join</span> SimpleX</h2>
<p class="text-black dark:text-white text-base text-center mb-14">We invite you to join the conversation</p>
<div class="flex flex-col items-center gap-5 self-stretch mb-12">
<a href="https://www.reddit.com/r/SimpleXChat/" class="flex items-center justify-center h-11 w-full max-w-[294px] font-medium text-base rounded-[34px] tracking-[0.02em] text-primary-light dark:text-primary-dark dark:bg-primary-bg-dark dark:border-primary-dark dark:border bg-[#D9ECFF]">Join the REDDIT community</a>
<a href="https://github.com/simplex-chat" class="flex items-center justify-center h-11 w-full max-w-[294px] font-medium text-base rounded-[34px] tracking-[0.02em] text-primary-light dark:text-primary-dark dark:bg-primary-bg-dark dark:border-primary-dark dark:border bg-[#D9ECFF]">Join us on GitHub</a>
<a href="https://github.com/simplex-chat/simplex-chat#help-us-with-donations" class="flex items-center justify-center h-11 w-full max-w-[294px] font-medium text-base rounded-[34px] tracking-[0.02em] text-primary-light dark:text-primary-dark dark:border-none bg-white dark:bg-[rgba(112,240,249,0.2)] border border-[#0053D0]">Donate here to help us</a>
</div>
<p class="text-grey-black dark:text-white text-base text-center mb-7">Sign up to receive our updates</p>
<form class="flex items-center w-full max-w-[540px] mb-20" action="https://chat.us2.list-manage.com/subscribe/post?u=ddd892b258ae36e5438e6d4e1&amp;id=ad6037a2fe" method="post" target="_blank" novalidate="">
<input name="EMAIL" type="text" class="h-[44px] ltr:rounded-l-[34px] rtl:rounded-r-[34px] bg-transparent border border-primary-light focus:outline-none text-primary-light dark:text-primary-dark text-base w-full max-w-[400px] px-5 placeholder:text-grey-black placeholder:dark:text-white placeholder:text-base placeholder:font-normal placeholder:tracking-[0.01em]" placeholder="Enter your email address">
<span aria-hidden="true" class="hidden">
<input type="text" name="b_ddd892b258ae36e5438e6d4e1_ad6037a2fe" tabindex="-1" value="">
</span>
<input type="submit" class="h-[44px] ltr:rounded-r-[34px] rtl:rounded-l-[34px] bg-primary-light text-white text-center px-8">
</form>
<hr class="block mb-7 mx-5 dark:opacity-[0.2] w-full">
<p class="text-grey-black dark:text-white text-center mb-7">Get SimpleX <a href="/downloads">desktop app</a></p>
<div class="flex items-center justify-center gap-4 flex-wrap">
<a href="https://apps.apple.com/us/app/simplex-chat/id1605771084" target="_blank"><img class="h-[40px] w-auto" src="/img/new/apple_store.svg"></a>
<a href="https://play.google.com/store/apps/details?id=chat.simplex.app" target="_blank" title="Public iOS preview on TestFlight"><img class="h-[40px] w-auto" src="/img/new/google_play.svg"></a>
<a href="/fdroid" title="SimpleX F-Droid Repository"><img class="h-[40px] w-auto" src="/img/new/f_droid.svg"></a>
<a href="https://testflight.apple.com/join/DWuT2LQu" target="_blank"><img class="h-[40px] w-auto" src="/img/new/testflight.png"></a>
<a href="https://github.com/simplex-chat/simplex-chat/releases/latest/download/simplex.apk" target="_blank"><img class="h-[40px] w-auto" src="/img/new/apk_icon.png"></a>
</div>
</div>
</section><div id="address-portability" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Address portability</h1><div class="overlay-content"><p>Similarly to <a href="https://en.wikipedia.org/wiki/Local_number_portability">phone number portability</a> (the ability of the customer to transfer the service to another provider without changing the number), the address portability means the ability of a communication service customer to change the service provider without changing the service address. Many <a href="#federated-network">federated networks</a> support SRV records to provide address portability, but allowing service users to set up their own domains for the addresses is not as commonly supported by the available server and client software as for email.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="federated-network" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Federated network</h1><div class="overlay-content"><p>Federated network is provided by several entities that agree upon the standards and operate the network collectively. This allows the users to choose their provider, that will hold their account, their messaging history and contacts, and communicate with other providers' servers on behalf of the user. The examples are email, XMPP, Matrix and Mastodon.</p><p>The advantage of that design is that there is no single organization that all users depend on, and the standards are more difficult to change, unless it benefits all users. There are several disadvantages: 1) the innovation is slower, 2) each user account still depends on a single organization, and in most cases can't move to another provider without changing their network address there is no <a href="#address-portability">address portability</a>, 3) the security and privacy are inevitably worse than with the centralized networks.</p><p><a href="https://en.wikipedia.org/wiki/Federation_(information_technology)">Federation on Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="tooltip-anonymous-credentials" class="glossary-tooltip"><div class="tooltip-content"><h4 class="tooltip-title">Anonymous credentials</h4><p>The credential that allows proving something, e.g. the right to access some resource, without identifying the user. This credential can either be generated by a trusted party or by the user themselves and provided together with the request to create the resource. The first approach creates some centralized dependency in most cases. The second approach does not require any trust - this is used in SimpleX network to authorize access to the messaging queues.</p><button class="read-more-btn open-overlay-btn" data-show-overlay="anonymous-credentials">Read more</button></div></div><div id="anonymous-credentials" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Anonymous credentials</h1><div class="overlay-content"><p>The credential that allows proving something, e.g. the right to access some resource, without identifying the user. This credential can either be generated by a trusted party or by the user themselves and provided together with the request to create the resource. The first approach creates some centralized dependency in most cases. The second approach does not require any trust - this is used in SimpleX network to authorize access to the messaging queues.</p><p><a href="https://en.wikipedia.org/wiki/Digital_credential">Digital credential on Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="tooltip-blockchain" class="glossary-tooltip"><div class="tooltip-content"><h4 class="tooltip-title">Blockchain</h4><p>In a wide sense, blockchain means a sequence of blocks of data, where each block contains a cryptographic hash of the previous block, thus providing integrity to the whole chain. Blockchains are used in many communication and information storage systems to provide integrity and immutability of the data. For example, BluRay disks use blockchain. SimpleX messaging queues also use blockchain - each message includes the hash of the previous message, to ensure the integrity if any message is modified it will be detected by the recipient when the next message is received. Blockchains are a subset of <a href="#merkle-directed-acyclic-graph">Merkle directed acyclic graphs</a>.</p><button class="read-more-btn open-overlay-btn" data-show-overlay="blockchain">Read more</button></div></div><div id="blockchain" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Blockchain</h1><div class="overlay-content"><p>In a wide sense, blockchain means a sequence of blocks of data, where each block contains a cryptographic hash of the previous block, thus providing integrity to the whole chain. Blockchains are used in many communication and information storage systems to provide integrity and immutability of the data. For example, BluRay disks use blockchain. SimpleX messaging queues also use blockchain - each message includes the hash of the previous message, to ensure the integrity if any message is modified it will be detected by the recipient when the next message is received. Blockchains are a subset of <a href="#merkle-directed-acyclic-graph">Merkle directed acyclic graphs</a>.</p><p>In a more narrow sense, particularly in media, blockchain is used to refer specifically to distributed ledger, where each record also includes the hash of the previous record, but the blocks have to be agreed by the participating peers using some <a href="https://en.wikipedia.org/wiki/Consensus_(computer_science)">consensus protocol</a>.</p><p><a href="https://en.wikipedia.org/wiki/Blockchain">Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="merkle-directed-acyclic-graph" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Merkle directed acyclic graph</h1><div class="overlay-content"><p>Also known as Merkle DAG, a data structure based on a general graph structure where node contains the cryptographic hashes of the previous nodes that point to it. Merkle trees are a subset of Merkle DAGs - in this case each leaf contains a cryptographic hash of the parent.</p><p>This structure by design allows to verify the integrity of the whole structure by computing its hashes and comparing with the hashes included in the nodes, in the same way as with <a href="#blockchain">blockchain</a>.</p><p>The motivation to use DAG in distributed environments instead of a simpler linear blockchain is to allow concurrent additions, when there is no requirement for a single order of added items. Merkle DAG is used, for example, in <a href="https://en.wikipedia.org/wiki/InterPlanetary_File_System">IPFS</a> and will be used in decentralized SimpleX groups.</p><p><a href="https://en.wikipedia.org/wiki/Merkle_tree">Wikipedia</a>.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="tooltip-break-in-recovery" class="glossary-tooltip"><div class="tooltip-content"><h4 class="tooltip-title">Break-in recovery</h4><p>Also known as break-in recovery, it is the quality of the end-to-end encryption scheme allowing to recover security against a passive attacker who observes encrypted messages after compromising one (or both) of the parties. Also known as recovery from compromise or break-in recovery. <a href="#double-ratchet-algorithm">Double-ratchet algorithm</a> has this quality.</p></div></div><div id="break-in-recovery" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Break-in recovery</h1><div class="overlay-content"><p>Also known as break-in recovery, it is the quality of the end-to-end encryption scheme allowing to recover security against a passive attacker who observes encrypted messages after compromising one (or both) of the parties. Also known as recovery from compromise or break-in recovery. <a href="#double-ratchet-algorithm">Double-ratchet algorithm</a> has this quality.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="double-ratchet-algorithm" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Double ratchet algorithm</h1><div class="overlay-content"><p>It is used by two parties to exchange <a href="#end-to-end-encryption">end-to-end encrypted</a> messages. The parties will use some <a href="#key-agreement-protocol">key agreement protocol</a> to agree on the initial shared secret key.</p><p>Double Ratchet algorithm provides <a href="#forward-secrecy">perfect forward secrecy</a> and <a href="#post-compromise-security">post-compromise security</a>. It is <a href="https://signal.org/docs/specifications/doubleratchet">designed by Signal</a>, and used in SimpleX Chat and many other secure messengers. Most experts consider it the state-of-the-art encryption protocol in message encryption.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="tooltip-centralized-network" class="glossary-tooltip"><div class="tooltip-content"><h4 class="tooltip-title">Centralized network</h4><p>Centralized networks are provided or controlled by a single entity. The examples are Threema, Signal, WhatsApp and Telegram. The advantage of that design is that the provider can innovate faster, and has a centralized approach to security. But the disadvantage is that the provider can change or discontinue the service, and leak, sell or disclose in some other way all users' data, including who they are connected with.</p></div></div><div id="centralized-network" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Centralized network</h1><div class="overlay-content"><p>Centralized networks are provided or controlled by a single entity. The examples are Threema, Signal, WhatsApp and Telegram. The advantage of that design is that the provider can innovate faster, and has a centralized approach to security. But the disadvantage is that the provider can change or discontinue the service, and leak, sell or disclose in some other way all users' data, including who they are connected with.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="tooltip-content-padding" class="glossary-tooltip"><div class="tooltip-content"><h4 class="tooltip-title">Content padding</h4><p>Also known as content padding, it is the process of adding data to the beginning or the end of a message prior to encryption. Padding conceals the actual message size from any eavesdroppers. SimpleX has several encryption layers, and prior to each encryption the content is padded to a fixed size.</p><button class="read-more-btn open-overlay-btn" data-show-overlay="content-padding">Read more</button></div></div><div id="content-padding" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Content padding</h1><div class="overlay-content"><p>Also known as content padding, it is the process of adding data to the beginning or the end of a message prior to encryption. Padding conceals the actual message size from any eavesdroppers. SimpleX has several encryption layers, and prior to each encryption the content is padded to a fixed size.</p><p><a href="https://en.wikipedia.org/wiki/Padding_(cryptography)">Wikipedia</a>.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="decentralized-network" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Decentralized network</h1><div class="overlay-content"><p>Decentralized network is often used to mean "the network based on decentralized blockchain". In its original meaning, decentralized network means that there is no central authority or any other point of centralization in the network, other than network protocols specification. The advantage of decentralized networks is that they are resilient to censorship and to the provider going out of business. The disadvantage is that they are often slower to innovate, and the security may be worse than with the centralized network.</p><p>The examples of decentralized networks are email, web, DNS, XMPP, Matrix, BitTorrent, etc. All these examples have a shared global application-level address space. Cryptocurrency blockchains not only have a shared address space, but also a shared state, so they are more centralized than email. Tor network also has a shared global address space, but also a central authority. SimpleX network does not have a shared application-level address space (it relies on the shared transport-level addresses - SMP relay hostnames or IP addresses), and it does not have any central authority or any shared state.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="defense-in-depth" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Defense in depth</h1><div class="overlay-content"><p>Originally, it is a military strategy that seeks to delay rather than prevent the advance of an attacker, buying time and causing additional casualties by yielding space.</p><p>In information security, defense in depth represents the use of multiple computer security techniques to help mitigate the risk of one component of the defense being compromised or circumvented. An example could be anti-virus software installed on individual workstations when there is already virus protection on the firewalls and servers within the same environment.</p><p>SimpleX network applies defense in depth approach to security by having multiple layers for the communication security and privacy:</p><ul>
<li>double ratchet algorithm for <a href="#end-to-end-encryption">end-to-end encryption</a> with <a href="#forward-secrecy">perfect forward secrecy</a> and <a href="#post-compromise-security">post-compromise security</a>,</li>
<li>additional layer of end-to-end encryption for each messaging queue and another encryption layer of encryption from the server to the recipient inside TLS to prevent correlation by ciphertext,</li>
<li>TLS with only strong ciphers allowed,</li>
<li>mitigation of <a href="#man-in-the-middle-attack">man-in-the-middle attack</a> on client-server connection via server offline certificate verification,</li>
<li>mitigation of replay attacks via signing over transport channel binding,</li>
<li>multiple layers of <a href="#message-padding">message padding</a> to reduce efficiency of traffic analysis,</li>
<li>mitigation of <a href="#man-in-the-middle-attack">man-in-the-middle attack</a> on client-client out-of-band channel when sending the invitation,</li>
<li>rotation of delivery queues to reduce efficiency of traffic analysis,</li>
<li>etc.</li>
</ul><p><a href="https://en.wikipedia.org/wiki/Defence_in_depth">Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="end-to-end-encryption" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">End-to-end encryption</h1><div class="overlay-content"><p>A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers telecom and Internet providers, malicious actors, and also the provider of the communication service.</p><p>End-to-end encryption requires agreeing cryptographic keys between the sender and the recipient in a way that no eavesdroppers can access the agreed keys. See <a href="#key-agreement-protocol">key agreement protocol</a>. This key exchange can be compromised via <a href="#man-in-the-middle-attack">man-in-the-middle attack</a>, particularly if key exchange happens via the same communication provider and no out-of-band channel is used to verify key exchange.</p><p><a href="https://en.wikipedia.org/wiki/End-to-end_encryption">Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="forward-secrecy" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Forward secrecy</h1><div class="overlay-content"><p>Also known as perfect forward secrecy, it is a feature of a <a href="#key-agreement-protocol">key agreement protocol</a> that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.</p><p><a href="https://en.wikipedia.org/wiki/Forward_secrecy">Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="post-compromise-security" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Post-compromise security</h1><div class="overlay-content"><p>Also known as break-in recovery, it is the quality of the end-to-end encryption scheme allowing to recover security against a passive attacker who observes encrypted messages after compromising one (or both) of the parties. Also known as recovery from compromise or break-in recovery. <a href="#double-ratchet-algorithm">Double-ratchet algorithm</a> has this quality.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="man-in-the-middle-attack" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Man-in-the-middle attack</h1><div class="overlay-content"><p>The attack when the attacker secretly relays and possibly alters the communications between two parties who believe that they are directly communicating with each other.</p><p>This attack can be used to compromise <a href="#end-to-end-encryption">end-to-end encryption</a> by intercepting public keys during <a href="#key-agreement-protocol">key exchange</a>, substituting them with the attacker's keys, and then intercepting and re-encrypting all messages, without altering their content. With this attack, while the attacker does not change message content, but she can read the messages, while the communicating parties believe the messages are end-to-end encrypted.</p><p>Such attack is possible with any system that uses the same channel for key exchange as used to send messages - it includes almost all communication systems except SimpleX, where the initial public key is always passed out-of-band. Even with SimpleX, the attacker may intercept and substitute the key sent via another channel, gaining access to communication. This risk is substantially lower, as attacker does not know in advance which channel will be used to pass the key.</p><p>To mitigate such attack the communicating parties must verify the integrity of key exchange - SimpleX and many other messaging apps, e.g. Signal and WhatsApp, have the feature that allows it.</p><p><a href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack">Wikipedia</a>.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="message-padding" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Message padding</h1><div class="overlay-content"><p>Also known as content padding, it is the process of adding data to the beginning or the end of a message prior to encryption. Padding conceals the actual message size from any eavesdroppers. SimpleX has several encryption layers, and prior to each encryption the content is padded to a fixed size.</p><p><a href="https://en.wikipedia.org/wiki/Padding_(cryptography)">Wikipedia</a>.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="key-agreement-protocol" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Key agreement protocol</h1><div class="overlay-content"><p>Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for <a href="#end-to-end-encryption">end-to-end encryption</a> to work.</p><p><a href="https://en.wikipedia.org/wiki/Key-agreement_protocol">Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="tooltip-end-to-end-encryption" class="glossary-tooltip"><div class="tooltip-content"><h4 class="tooltip-title">End-to-end encryption</h4><p>A communication system where only the communicating parties can read the messages. It is designed to protect message content from any potential eavesdroppers telecom and Internet providers, malicious actors, and also the provider of the communication service.</p><button class="read-more-btn open-overlay-btn" data-show-overlay="end-to-end-encryption">Read more</button></div></div><div id="tooltip-forward-secrecy" class="glossary-tooltip"><div class="tooltip-content"><h4 class="tooltip-title">Forward secrecy</h4><p>Also known as perfect forward secrecy, it is a feature of a <a href="#key-agreement-protocol">key agreement protocol</a> that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.</p><button class="read-more-btn open-overlay-btn" data-show-overlay="forward-secrecy">Read more</button></div></div><div id="tooltip-key-exchange" class="glossary-tooltip"><div class="tooltip-content"><h4 class="tooltip-title">Key exchange</h4><p>Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for <a href="#end-to-end-encryption">end-to-end encryption</a> to work.</p><button class="read-more-btn open-overlay-btn" data-show-overlay="key-exchange">Read more</button></div></div><div id="key-exchange" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Key exchange</h1><div class="overlay-content"><p>Also known as key exchange, it is a process of agreeing cryptographic keys between the sender and the recipient(s) of the message. It is required for <a href="#end-to-end-encryption">end-to-end encryption</a> to work.</p><p><a href="https://en.wikipedia.org/wiki/Key-agreement_protocol">Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="tooltip-mitm-attack" class="glossary-tooltip"><div class="tooltip-content"><h4 class="tooltip-title">MITM attack</h4><p>The attack when the attacker secretly relays and possibly alters the communications between two parties who believe that they are directly communicating with each other.</p><button class="read-more-btn open-overlay-btn" data-show-overlay="mitm-attack">Read more</button></div></div><div id="mitm-attack" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">MITM attack</h1><div class="overlay-content"><p>The attack when the attacker secretly relays and possibly alters the communications between two parties who believe that they are directly communicating with each other.</p><p>This attack can be used to compromise <a href="#end-to-end-encryption">end-to-end encryption</a> by intercepting public keys during <a href="#key-agreement-protocol">key exchange</a>, substituting them with the attacker's keys, and then intercepting and re-encrypting all messages, without altering their content. With this attack, while the attacker does not change message content, but she can read the messages, while the communicating parties believe the messages are end-to-end encrypted.</p><p>Such attack is possible with any system that uses the same channel for key exchange as used to send messages - it includes almost all communication systems except SimpleX, where the initial public key is always passed out-of-band. Even with SimpleX, the attacker may intercept and substitute the key sent via another channel, gaining access to communication. This risk is substantially lower, as attacker does not know in advance which channel will be used to pass the key.</p><p>To mitigate such attack the communicating parties must verify the integrity of key exchange - SimpleX and many other messaging apps, e.g. Signal and WhatsApp, have the feature that allows it.</p><p><a href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack">Wikipedia</a>.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="non-repudiation" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Non-repudiation</h1><div class="overlay-content">Non-repudiation</div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="onion-routing" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Onion routing</h1><div class="overlay-content"><p>A technique for anonymous communication over a computer network that uses multiple layers of message encryption, analogous to the layers of an onion. The encrypted data is transmitted through a series of network nodes called "onion routers," each of which "peels" away a single layer, revealing the data's next destination. The sender remains anonymous because each intermediary knows only the location of the immediately preceding and following nodes.</p><p>The most widely used onion network is <a href="https://en.wikipedia.org/wiki/Tor_(network)">Tor</a>.</p><p>Some elements of SimpleX network use similar ideas in their design - different addresses for the same resource used by different parties, and additional encryption layers. Currently though, SimpleX messaging protocol does not protect sender network address, as the relay server is chosen by the recipient. The delivery relays chosen by sender that are planned for the future would make SimpleX design closer to onion routing.</p><p><a href="https://en.wikipedia.org/wiki/Onion_routing">Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="tooltip-overlay-network" class="glossary-tooltip"><div class="tooltip-content"><h4 class="tooltip-title">Overlay network</h4><p>Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. Tor, for example, is an overlay network on top of IP network, which in its turn is also an overlay network over some underlying physical network.</p><button class="read-more-btn open-overlay-btn" data-show-overlay="overlay-network">Read more</button></div></div><div id="overlay-network" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Overlay network</h1><div class="overlay-content"><p>Nodes in the overlay network can be thought of as being connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network. Tor, for example, is an overlay network on top of IP network, which in its turn is also an overlay network over some underlying physical network.</p><p>SimpleX Clients also form a network using SMP relays and IP or some other overlay network (e.g., Tor), to communicate with each other. SMP relays, on another hand, do not form a network.</p><p><a href="https://en.wikipedia.org/wiki/Overlay_network">Wikipedia</a></p><h1>Non-repudiation</h1><p>The property of the cryptographic or communication system that allows the recipient of the message to prove to any third party that the sender identified by some cryptographic key sent the message. It is the opposite to <a href="#repudiation">repudiation</a>. While in some context non-repudiation may be desirable (e.g., for contractually binding messages), in the context of private communications it may be undesirable.</p><p><a href="https://en.wikipedia.org/wiki/Non-repudiation">Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="repudiation" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Repudiation</h1><div class="overlay-content"><p>The property of the cryptographic or communication system that allows the sender of the message to plausibly deny having sent the message, because while the recipient can verify that the message was sent by the sender, they cannot prove it to any third party - the recipient has a technical ability to forge the same encrypted message. This is an important quality of private communications, as it allows to have the conversation that can later be denied, similarly to having a private face-to-face conversation.</p><p>See also <a href="#non-repudiation">non-repudiation</a>.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="pairwise-pseudonymous-identifier" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Pairwise pseudonymous identifier</h1><div class="overlay-content"><p>Generalizing <a href="https://csrc.nist.gov/glossary/term/pairwise_pseudonymous_identifier">the definition</a> from NIST Digital Identity Guidelines, it is an opaque unguessable identifier generated by a service used to access a resource by only one party.</p><p>In the context of SimpleX network, these are the identifiers generated by SMP relays to access anonymous messaging queues, with a separate identifier (and access credential) for each accessing party: recipient, sender and and optional notifications subscriber. The same approach is used by XFTP relays to access file chunks, with separate identifiers (and access credentials) for sender and each recipient.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="peer-to-peer" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Peer-to-peer</h1><div class="overlay-content"><p>Peer-to-peer (P2P) is the network architecture when participants have equal rights and communicate directly via a general purpose transport or overlay network. Unlike client-server architecture, all peers in a P2P network both provide and consume the resources. In the context of messaging, P2P architecture usually means that the messages are sent between peers, without user accounts or messages being stored on any servers. Examples are Tox, Briar, Cwtch and many others.</p><p>The advantage is that the participants do not depend on any servers. There are <a href="./SIMPLEX.md#comparison-with-p2p9-messaging-protocols">multiple downsides</a> to that architecture, such as no asynchronous message delivery, the need for network-wide peer addresses, possibility of network-wide attacks, that are usually mitigated only by using a centralized authority. These disadvantages are avoided with <a href="#proxied-peer-to-peer">proxied P2P</a> architecture.</p><p><a href="https://en.wikipedia.org/wiki/Peer-to-peer">Wikipedia</a>.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="proxied-peer-to-peer" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Proxied peer-to-peer</h1><div class="overlay-content"><p>Network topology of the communication system when peers communicate via proxies that do not form the network themselves. Such design is used in Pond, that has a fixed home server for each user, and in SimpleX, that uses multiple relays providing temporary connections.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="perfect-forward-secrecy" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Perfect forward secrecy</h1><div class="overlay-content"><p>Also known as perfect forward secrecy, it is a feature of a <a href="#key-agreement-protocol">key agreement protocol</a> that ensures that session keys will not be compromised even if long-term secrets used in the session key exchange are compromised. Forward secrecy protects past sessions against future compromises of session or long-term keys.</p><p><a href="https://en.wikipedia.org/wiki/Forward_secrecy">Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="post-quantum-cryptography" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Post-quantum cryptography</h1><div class="overlay-content"><p>Any of the proposed cryptographic systems or algorithms that are thought to be secure against an attack by a quantum computer. It appears that as of 2023 there is no system or algorithm that is proven to be secure against such attacks, or even to be secure against attacks by massively parallel conventional computers, so a general recommendation is to use post-quantum cryptographic systems in combination with the traditional cryptographic systems.</p><p><a href="https://en.wikipedia.org/wiki/Post-quantum_cryptography">Wikipedia</a></p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="recovery-from-compromise" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">Recovery from compromise</h1><div class="overlay-content"><p>Also known as break-in recovery, it is the quality of the end-to-end encryption scheme allowing to recover security against a passive attacker who observes encrypted messages after compromising one (or both) of the parties. Also known as recovery from compromise or break-in recovery. <a href="#double-ratchet-algorithm">Double-ratchet algorithm</a> has this quality.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div><div id="user-identity" class="overlay glossary-overlay hidden"><div class="overlay-card"><h1 class="overlay-title">User identity</h1><div class="overlay-content"><p>In a communication system it refers to anything that uniquely identifies the users to the network. Depending on the communication network, it can be a phone number, email address, username, public key or a random opaque identifier. Most messaging networks rely on some form of user identity. SimpleX appears to be the only messaging network that does not rely on any kind of user identity - see <a href="https://en.wikipedia.org/wiki/Comparison_of_instant_messaging_protocols">this comparison</a>.</p></div><svg class="close-overlay-btn" id="cross" width="16" height="16" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M12.7973 11.5525L7.59762 6.49833L12.7947 1.44675C13.055 1.19371 13.0658 0.771991 12.8188 0.505331C12.5718 0.238674 12.1602 0.227644 11.8999 0.480681L6.65343 5.58028L1.09979 0.182228C0.805 0.002228 0.430001 0.002228 0.135211 0.182228C-0.159579 0.362228 -0.159579 0.697228 0.135211 0.877228L5.68885 6.27528L0.4918 11.3295C0.231501 11.5825 0.220703 12.0042 0.467664 12.2709C0.714625 12.5376 1.12625 12.5486 1.38655 12.2956L6.63302 7.196L12.1867 12.5941C12.4815 12.7741 12.8565 12.7741 13.1513 12.5941C13.4461 12.4141 13.4461 12.0791 13.1513 11.8991L12.7973 11.5525Z"></path></svg></div></div></body></html>
<section class="bg-[#D9E7ED] dark:bg-[#0E2B57] py-[50px]">
<div class="container">
<div class="flex flex-col lg:flex-row justify-between">
<div class="flex flex-col items-center lg:items-start">
<a href="/" class="h-full mb-14 dark:hidden"><img class="w-auto h-[46px]" src="/img/new/logo-light.png" alt="logo" /></a>
<a href="/" class="h-full mb-14 hidden dark:inline-block"><img class="w-auto h-[46px]" src="/img/new/logo-dark.png" alt="logo" /></a>
<div class="flex flex-col items-center lg:items-start lg:flex-row gap-[150px] lg:gap-[350px]">
<div class="flex flex-col items-center lg:items-start">
<a href="https://github.com/simplex-chat/simplexmq/blob/stable/protocol/overview-tjr.md"
target="_blank"
class="text-grey-black dark:text-white text-[14px] font-medium leading-[28px] tracking-[0.01em] mb-3 flex items-center gap-1">
SimpleX Whitepaper
<svg class="float-right" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
</a>
<a href="https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/simplex-chat.md"
target="_blank"
class="text-grey-black dark:text-white text-[14px] font-medium leading-[28px] tracking-[0.01em] mb-3 flex items-center gap-1">
SimpleX Chat protocol
<svg class="float-right" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
</a>
<a href="/privacy"
class="text-grey-black dark:text-white text-[14px] font-medium leading-[28px] tracking-[0.01em] mb-3 flex items-center gap-1">
Privacy Policy
</a>
<a href="https://github.com/simplex-chat/simplex-chat#help-us-with-donations"
target="_blank"
class="text-grey-black dark:text-white text-[14px] font-medium leading-[28px] tracking-[0.01em] mb-3 flex items-center gap-1">
Donate
<svg class="float-right" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
</a>
</div>
<div class="flex flex-col items-center lg:items-start">
<a href="https://github.com/simplex-chat/simplex-chat/blob/stable/docs/CLI.md"
target="_blank"
class="text-grey-black dark:text-white text-[14px] font-medium leading-[28px] tracking-[0.01em] mb-3 flex items-center gap-1">
Terminal CLI
<svg class="float-right" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
</a>
<a href="https://github.com/simplex-chat/simplex-chat/tree/stable/packages/simplex-chat-client/typescript"
target="_blank"
class="text-grey-black dark:text-white text-[14px] font-medium leading-[28px] tracking-[0.01em] mb-3 flex items-center gap-1">
TypeScript SDK
<svg class="float-right" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg>
</a>
</div>
</div>
</div>
<article class="mt-10 lg:mt-0">
<div class="h-[40px] flex flex-col gap-2 justify-center">
<div class="flex gap-2 justify-center">
<a href="https://simplex.chat/contact#/?v=1&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FK1rslx-m5bpXVIdMZg9NLUZ_8JBm8xTt%23%2F%3Fv%3D1%26dh%3DMCowBQYDK2VuAyEALDeVe-sG8mRY22LsXlPgiwTNs9dbiLrNuA7f3ZMAJ2w%253D%26srv%3Dbylepyau3ty4czmn77q4fglvperknl4bi2eb2fdy2bh4jxtf32kf73yd.onion">
<svg class="fill-primary-light dark:fill-primary-dark" width="32" height="32" viewBox="0 0 54 54" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.585 0C11.9025 0 0 11.9025 0 26.585C0 41.2674 11.9025 53.1699 26.585 53.1699C41.2674 53.1699 53.1699 41.2674 53.1699 26.585C53.1699 11.9025 41.2674 0 26.585 0ZM11.3862 17.3518L17.6366 23.4373L23.9313 17.3088L17.6787 11.2209L20.866 8.1179L27.1187 14.2061L33.4932 8L36.6199 11.044L30.2448 17.25L36.4982 23.3379L42.8733 17.1321L46 20.1761L39.6249 26.3818L45.8789 32.4702L42.6916 35.5732L36.4376 29.4848L30.0631 35.6906L36.3171 41.7791L33.1299 44.8821L26.8759 38.7936L20.5026 45L17.3759 41.956L23.8003 35.693L17.5493 29.6073L11.1255 35.8621L8 32.8194L14.4244 26.5646L8.17397 20.4792L11.3862 17.3518ZM27.0125 32.5656L33.311 26.4408L27.0576 20.3535L27.0568 20.3516L20.7615 26.4799L27.0125 32.5656Z"/>
</svg>
</a>
<a href="https://snort.social/p/npub1exv22uulqnmlluszc4yk92jhs2e5ajcs6mu3t00a6avzjcalj9csm7d828" target="_blank">
<svg class="fill-primary-light dark:fill-primary-dark" width="32" height="32" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M256 512C397.385 512 512 397.385 512 256C512 114.615 397.385 0 256 0C114.615 0 0 114.615 0 256C0 397.385 114.615 512 256 512ZM348.077 268.251C347.047 271.254 346.018 274.257 344.263 277.017C337.633 287.302 327.867 292.139 315.221 292.951C302.173 293.789 289.233 295.487 276.333 297.437C274.064 297.779 271.793 298.108 269.521 298.438C258.687 300.005 247.858 301.572 237.36 304.645C189.946 318.517 148.927 341.344 115.048 374.257C109.197 379.941 103.451 385.688 98.1836 391.819C95.7632 394.637 93.0278 397.201 89.1831 398.521L89.1304 398.538C87.9731 398.938 86.7466 399.359 85.6548 398.491C84.7729 397.79 84.9731 396.874 85.1665 395.992C85.1948 395.862 85.2231 395.733 85.248 395.605C85.6963 393.277 86.7407 391.14 88.1821 389.194C90.146 386.544 92.084 383.878 94.022 381.213C99.7344 373.356 105.446 365.5 111.82 358.036C121.707 346.457 133.167 336.2 144.787 326.072C168.56 305.352 195.75 289.087 225.833 276.646C228.757 275.438 231.732 274.327 234.707 273.217C236.528 272.538 238.349 271.858 240.158 271.155C240.361 271.076 240.574 271.007 240.789 270.938C241.635 270.663 242.518 270.377 243.024 269.423C242.177 268.706 241.15 268.783 240.177 268.857C239.968 268.873 239.762 268.889 239.561 268.896C217.297 269.744 195.694 273.47 174.884 280.725C167.117 283.432 159.668 286.729 152.295 290.172C149.855 291.311 147.46 292.248 145.208 290.121C142.917 287.958 143.432 285.598 144.912 283.182C154.453 267.61 165.746 253.295 179.889 240.66C197.997 224.483 219.395 213.954 244.032 208.49C276.996 201.18 306.323 208.416 332.639 226.84L333.331 227.326C337.818 230.48 342.154 233.529 348.424 232.938C356.094 232.213 362.589 229.362 367.853 224.391C376.977 215.774 378.435 205.5 372.124 194.314C365.358 182.325 356.674 171.414 347.996 160.512L347.97 160.479C344.757 156.442 341.94 152.257 340.075 147.559C337.776 141.771 339.282 136.798 343.771 132.374C346.562 129.623 349.879 127.444 353.499 125.654C352.84 124.302 351.792 124.372 350.828 124.437C350.692 124.445 350.558 124.454 350.427 124.459C349.885 124.479 349.345 124.565 348.806 124.651C348.214 124.745 347.624 124.839 347.031 124.847C346.607 124.852 346.152 124.89 345.689 124.929C343.945 125.074 342.084 125.23 341.357 123.684C340.391 121.631 341.399 119.227 343.191 117.554C347.403 113.623 352.741 112.595 358.621 113.133C364.851 113.703 370.044 116.374 374.959 119.561C377.904 121.469 380.753 123.504 383.548 125.587C386.107 127.494 385.938 128.352 382.863 129.358C378.374 130.828 373.854 132.237 369.158 133.088C368.043 133.29 366.97 133.568 365.925 133.915C365.13 134.178 364.353 134.481 363.586 134.82C356.43 137.985 354.645 142.229 357.784 148.742C360.525 154.429 364.434 159.469 368.344 164.509C369.887 166.498 371.431 168.487 372.902 170.517C373.603 171.483 374.306 172.449 375.008 173.415C379.468 179.541 383.926 185.666 387.914 192.062C400.479 212.217 392.457 231.471 374.209 243.009C372.334 244.194 370.384 245.277 368.434 246.36C365.527 247.975 362.621 249.589 359.962 251.543C354.495 255.563 350.765 260.588 348.648 266.601C348.455 267.149 348.266 267.7 348.077 268.251ZM364.513 333.922C365.149 335.249 364.924 336.668 364.888 338.06C364.714 340.459 365.214 342.489 363.518 344.059C362.183 344.074 361.458 343.352 360.753 342.65C360.563 342.461 360.375 342.273 360.177 342.103C356.286 338.75 352.875 334.988 348.808 331.769C341.752 326.184 333.477 324.483 324.302 324.521C315.342 324.559 307.177 327.164 299.004 329.771C297.717 330.183 296.429 330.594 295.138 330.995L289.747 332.666C278.586 336.121 267.42 339.577 256.422 343.413C246.833 346.757 238.413 339.996 239.31 331.924C240.31 322.924 243.14 314.443 250.956 307.944C254.783 304.762 259.324 303.146 264.323 302.431C267.762 301.938 271.221 301.553 274.679 301.168C276.062 301.014 277.446 300.859 278.828 300.698C279.451 300.625 280.078 300.607 280.639 301.144C280.923 302.208 280.246 302.979 279.585 303.731C279.429 303.91 279.273 304.088 279.131 304.268C274.998 309.516 270.639 314.606 265.876 319.418C265.727 319.568 265.549 319.722 265.365 319.879C264.61 320.528 263.763 321.258 264.454 322.215C265.352 323.459 266.887 322.692 268.166 322.415C273.744 321.205 279.287 319.864 284.829 318.523C294.818 316.107 304.808 313.69 315.003 312.043C328.089 309.928 340.422 311.512 351.549 318.553C357.728 322.463 361.604 327.85 364.513 333.922Z" />
</svg>
</a>
<a rel="me" href="https://mastodon.social/@simplex" target="_blank">
<svg class="fill-primary-light dark:fill-primary-dark" width="32" height="32" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M256 512C397.385 512 512 397.385 512 256C512 114.615 397.385 0 256 0C114.615 0 0 114.615 0 256C0 397.385 114.615 512 256 512ZM339.329 99.0275C317.654 93.9388 295.564 92.2207 273.231 91.3254C272.186 91.2944 271.157 91.2596 270.14 91.2251C268.091 91.1557 266.089 91.0879 264.086 91.0567C246.35 90.7812 228.654 91.5123 210.994 93.1846C197.065 94.5035 183.244 96.4768 169.675 99.9727C162.199 101.899 154.73 103.994 147.977 107.812C134.904 115.202 125.174 125.999 117.725 138.921C108.323 155.228 103.916 173.02 103.377 191.682C102.882 208.853 102.937 226.049 103.186 243.227C103.396 257.66 104.034 272.095 104.854 286.507C105.678 300.995 107.728 315.348 110.963 329.508C114.411 344.606 119.377 359.13 127.439 372.451C138.635 390.948 154.331 403.859 174.933 410.499C187.604 414.582 200.649 417.051 213.826 418.828C237.461 422.015 261.021 421.897 284.461 417.12C294.296 415.115 303.892 412.325 313.09 408.232C314.413 407.643 314.878 406.946 314.79 405.46C314.549 401.383 314.383 397.303 314.217 393.222C314.143 391.401 314.069 389.581 313.989 387.761C313.915 386.091 313.827 384.422 313.737 382.714C313.695 381.925 313.653 381.128 313.612 380.318C313.426 380.354 313.261 380.382 313.11 380.408C312.825 380.457 312.591 380.497 312.364 380.56C294.125 385.58 275.582 388.162 256.641 387.555C245.877 387.21 235.125 386.735 224.588 384.226C217.159 382.457 210.199 379.654 204.32 374.599C197.016 368.318 193.251 360.094 191.688 350.786C191.199 347.876 190.939 344.927 190.672 341.898C190.548 340.499 190.423 339.084 190.274 337.647C190.638 337.712 190.939 337.764 191.198 337.808C191.658 337.888 191.989 337.945 192.317 338.012C193.433 338.242 194.548 338.478 195.663 338.714C197.9 339.188 200.137 339.662 202.384 340.08C217.874 342.967 233.476 344.947 249.2 346.01C261.24 346.825 273.283 346.962 285.306 346.061C292.653 345.511 299.987 344.776 307.32 344.042C310.694 343.704 314.068 343.366 317.444 343.046C329.993 341.856 342.163 339.055 353.868 334.339C368.08 328.613 381.069 320.958 391.661 309.671C397.704 303.232 402.22 295.971 403.793 287.033C406.787 270.025 408.278 252.868 409.117 235.648C409.506 227.659 409.68 219.659 409.854 211.661C409.877 210.641 409.899 209.622 409.922 208.602C410.225 194.937 409.755 181.331 406.589 167.943C402.18 149.303 393.93 132.763 380.157 119.248C373.506 112.723 366.119 107.246 357.182 104.291C351.293 102.344 345.36 100.443 339.329 99.0275ZM206.301 147.05C215.154 146.705 223.699 148.074 231.686 152.148C239.099 156.066 244.656 161.596 248.834 168.559C250.24 170.904 251.634 173.256 253.028 175.609C253.877 177.042 254.725 178.475 255.577 179.906C255.751 180.198 255.939 180.481 256.169 180.825C256.289 181.005 256.42 181.202 256.567 181.426C256.835 180.985 257.092 180.564 257.34 180.156C257.857 179.31 258.338 178.52 258.815 177.728C259.514 176.567 260.2 175.397 260.885 174.228C262.344 171.739 263.803 169.25 265.39 166.845C274.175 153.529 286.908 147.555 302.51 147.037C311.492 146.739 320.132 148.161 328.153 152.407C340.022 158.69 347.454 168.621 351.49 181.281C353.776 188.451 354.772 195.835 354.782 203.337C354.809 224.399 354.804 245.462 354.8 266.525C354.798 274.145 354.797 281.765 354.796 289.385C354.796 291.539 354.794 291.541 352.618 291.541C345.311 291.541 338.005 291.541 330.699 291.541L322.729 291.541L320.556 291.541V289.22C320.556 282.775 320.555 276.331 320.555 269.886C320.555 249.152 320.555 228.417 320.557 207.683C320.557 203.313 320.182 198.991 318.855 194.802C316.363 186.935 311.094 182.212 302.904 181.058C297.135 180.245 291.436 180.588 286.145 183.355C279.524 186.817 276.269 192.781 274.923 199.777C274.066 204.228 273.672 208.827 273.621 213.366C273.507 223.706 273.527 234.048 273.547 244.39C273.555 248.39 273.563 252.389 273.563 256.389V258.442H239.519C239.519 257.757 239.52 257.127 239.519 256.498C239.515 252.169 239.515 247.841 239.515 243.512C239.515 232.533 239.514 221.553 239.453 210.574C239.422 205.073 238.685 199.648 236.607 194.488C233.57 186.946 228.11 182.277 220.046 181.187C216.643 180.726 213.072 180.737 209.67 181.204C202.089 182.246 197.072 186.701 194.521 193.923C193.001 198.228 192.528 202.699 192.528 207.236C192.526 227.665 192.526 248.094 192.526 268.522C192.526 275.434 192.527 282.345 192.527 289.256V291.425H158.285V289.671C158.285 281.418 158.28 273.166 158.274 264.914C158.259 244.215 158.245 223.516 158.321 202.817C158.362 191.725 160.39 180.983 165.938 171.217C174.826 155.574 188.484 147.745 206.301 147.05Z" />
</svg>
</a>
<a href="https://lemmy.ml/c/simplex" target="_blank">
<svg class="fill-primary-light dark:fill-primary-dark" width="32" height="32" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M211.627 320.142L211.601 320.334C209.791 327.491 205.635 332.28 198.898 334.602C186.776 338.78 174.062 329.797 173.658 317.008C173.314 306.088 182.578 296.189 194.836 297.369C205.769 298.421 213.652 308.883 211.697 319.667C211.669 319.825 211.647 319.984 211.627 320.142Z" />
<path d="M330.616 332.344C330.429 332.469 330.237 332.586 330.048 332.707C318.654 339.342 304.653 333.087 301.724 320.752C299.125 309.809 306.901 298.809 318.043 297.573C326.881 296.592 335.193 301.875 338.096 309.993C341.069 318.313 338.059 327.36 330.616 332.344Z" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M256 512C397.385 512 512 397.385 512 256C512 114.615 397.385 0 256 0C114.615 0 0 114.615 0 256C0 397.385 114.615 512 256 512ZM452.87 191.71C450.247 181.005 444.82 172.018 435.126 165.783C434.537 165.485 433.964 165.181 433.398 164.88C432.158 164.222 430.954 163.582 429.697 163.069C421.154 159.584 412.3 159.367 403.337 160.925C394.095 162.532 385.533 165.973 377.487 170.658C368.828 175.701 361.835 182.561 355.71 190.334C355.44 190.676 355.214 191.051 355 191.363C355.081 191.515 355.095 191.577 355.134 191.609C355.439 191.858 355.746 192.107 356.062 192.346C363.56 198.034 370.116 204.62 375.603 212.22C384.395 224.398 389.771 237.954 392.392 252.617C392.594 253.748 392.832 254.873 393.053 256C405.488 253.396 416.484 248.669 426.037 242.977C434.382 238.003 441.402 231.567 446.721 223.474C453.126 213.727 455.673 203.145 452.87 191.71ZM74.0957 168.33C80.6572 163.052 88.1533 160.554 96.373 160.085C106.582 159.503 116.192 161.954 125.519 165.865C138.758 171.419 149.13 180.436 157.59 191.798C157.645 191.872 157.697 191.947 157.747 192.024C157.788 192.089 157.828 192.155 157.864 192.222C157.899 192.287 157.922 192.359 157.951 192.452L158 192.606C136.48 208.433 124.266 229.827 119.912 256C119.671 255.981 119.437 255.979 119.21 255.962C119.12 255.956 119.031 255.947 118.944 255.935C118.893 255.927 118.842 255.917 118.791 255.906C106.863 253.306 95.7129 248.715 85.4551 242.228C75.9717 236.23 68.2236 228.434 63.2119 218.255C60.3105 212.362 58.7051 206.12 59.0449 199.556C59.6875 187.16 64.5664 176.684 74.0957 168.33ZM296.621 382.67C313.312 376.036 328.495 366.898 342.24 355.14C350.237 348.229 357.383 340.69 363.479 332.195C374.055 317.459 380.766 301.307 381.77 283.001C382.441 270.745 381.724 258.632 378.58 246.731C373.914 229.066 364.635 214.348 350.251 202.935C340.804 195.439 330.173 190.161 318.777 186.34C303.993 181.384 288.724 179.122 273.21 178.32C260.704 177.674 248.214 178.026 235.744 179.201C225.53 180.164 215.431 181.775 205.499 184.357C192.461 187.748 180.062 192.636 168.799 200.14C153.032 210.644 142.032 224.79 136.08 242.792C132.337 254.113 130.976 265.771 131 277.642C131.021 287.482 132.225 297.122 135.406 306.482C139.866 319.601 146.978 331.165 156.084 341.527C172.32 360 192.19 373.328 214.92 382.551C215.081 382.616 215.245 382.674 215.409 382.729C215.558 382.778 215.706 382.824 215.852 382.868L215.863 382.873L215.922 382.891C216.04 382.927 216.154 382.963 216.265 383C216.304 382.079 216.324 381.166 216.344 380.259C216.363 379.391 216.383 378.528 216.419 377.671C216.463 376.613 216.532 375.562 216.659 374.519C218.164 362.141 224.289 352.646 235.222 346.599C246.337 340.452 258.246 339.604 270.208 343.455C285.366 348.334 293.935 359.08 296.154 374.799C296.398 376.527 296.456 378.281 296.516 380.085L296.519 380.13V380.173C296.546 380.995 296.574 381.826 296.621 382.67ZM281.743 368.861C282.872 371.457 283.575 374.328 283.881 377.463C285.312 392.157 273.662 404.387 259.753 405.812C254.162 406.385 248.779 405.674 243.706 403.293C235.694 399.535 231.077 393.124 229.513 384.525C228.687 379.986 228.794 375.442 230.311 371.038C230.366 370.862 230.425 370.687 230.485 370.511C233.364 362.156 239.321 357.018 247.744 354.776C255.238 352.782 262.649 353.215 269.807 356.412C275.688 359.393 279.581 363.572 281.743 368.861ZM145.243 347.723C144.674 347.919 144.148 348.073 143.643 348.279L123.101 356.65C118.053 358.706 113.004 360.758 107.952 362.804C106.823 363.261 105.612 363.671 104.412 363.772C100.998 364.058 98.0098 361.874 97.0557 358.587C96.1104 355.333 97.5312 351.907 100.529 350.27C100.976 350.025 101.452 349.834 101.927 349.644L102.222 349.524L134.319 336.439C134.889 336.207 135.449 335.954 136.141 335.656C135.967 335.363 138.582 338.852 141.055 342.154L142.903 344.622C143.673 345.648 144.331 346.526 144.754 347.085C145.023 347.442 145.197 347.669 145.243 347.723ZM369.278 345.862C370.302 344.697 371.534 343.236 372.724 341.826L372.735 341.812L372.741 341.803C375.005 339.122 377.106 336.631 377.315 336.716L383.333 339.168C391.872 342.647 400.41 346.126 408.957 349.581C411.084 350.441 412.807 351.698 413.645 353.882C414.726 356.697 414.287 359.323 412.218 361.528C410.094 363.792 407.413 364.428 404.511 363.378C401.243 362.196 398.05 360.808 394.829 359.496L368.187 348.632L368.005 348.56L367.679 348.44C367.526 348.385 367.379 348.335 367.243 348.289L366.935 348.182C367.13 348.228 368.055 347.256 369.278 345.862ZM342.492 371.036C342.825 370.833 330.406 379.116 330.827 379.667C338.286 389.524 345.667 399.273 353.053 409.019L353.185 409.193L353.426 409.513C353.677 409.84 353.935 410.16 354.22 410.453C358.062 414.399 364.663 412.838 366.314 407.583C367.117 405.031 366.513 402.746 364.907 400.64C360.587 394.974 356.3 389.283 352 383.602L342.492 371.036ZM169.228 372.739C169.013 373.018 172.123 375.052 175.2 377.064C178.211 379.033 181.189 380.98 180.99 381.244L174.88 389.313C169.871 395.926 164.864 402.539 159.871 409.163C158.534 410.936 156.953 412.256 154.675 412.554C151.731 412.939 149.331 411.952 147.65 409.532C145.926 407.052 145.868 404.406 147.351 401.768C147.473 401.55 147.608 401.34 147.752 401.135C147.942 400.86 148.147 400.594 148.352 400.328L148.613 399.985L169.228 372.739Z" />
<path d="M211.584 320.586C209.815 327.718 205.697 332.587 199.022 334.947C187.008 339.195 174.408 330.062 174.009 317.062C173.668 305.961 182.848 295.898 194.995 297.097C205.829 298.167 213.642 308.802 211.704 319.765C211.665 319.99 211.64 320.217 211.584 320.586Z" />
<path d="M329.711 333.271C318.43 340.029 304.431 333.604 301.503 320.932C298.905 309.69 306.679 298.39 317.818 297.12C326.654 296.113 334.965 301.539 337.867 309.879C340.84 318.426 337.83 327.72 330.389 332.84C330.202 332.968 330.01 333.089 329.711 333.271Z" />
</svg>
</a>
<a href="mailto:chat@simplex.chat" target="_blank">
<svg class="fill-primary-light dark:fill-primary-dark" width="32" height="32" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M512 256C512 397.385 397.385 512 256 512C114.615 512 0 397.385 0 256C0 114.615 114.615 0 256 0C397.385 0 512 114.615 512 256ZM149.744 205.384L166.479 218.68C192.394 239.268 218.153 259.732 243.918 280.188C254.117 288.285 257.065 288.23 267.363 280.05C310.416 245.847 353.478 211.655 396.54 177.463L400.139 174.605L413.302 164.153C414.537 163.173 415.803 162.232 418.049 160.511V167.062L418.05 212.292C418.05 257.522 418.051 302.752 418.045 347.982C418.044 359.363 414.904 362.477 403.495 362.477L283.932 362.479C225.163 362.479 166.395 362.479 107.626 362.477C96.1521 362.477 93.0066 359.391 93.0051 348.06C92.9968 287.587 93.001 227.114 93.001 166.641V160.359C112.401 175.751 130.933 190.456 149.744 205.384ZM116.095 149C126.458 157.244 135.905 164.758 145.633 172.489C166.835 189.321 187.943 206.083 209.045 222.84L255.556 259.775L395.017 149H116.095Z" />
</svg>
</a>
</div>
<div class="flex gap-2 justify-center">
<a href="https://github.com/simplex-chat" target="_blank">
<svg class="fill-primary-light dark:fill-primary-dark" width="32" height="32" viewBox="0 0 41 41" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20.2907 0.926758C9.24635 0.926758 0.290527 10.1075 0.290527 21.4331C0.290527 30.4933 6.02118 38.18 13.9679 40.8915C14.9674 41.0813 15.3344 40.4467 15.3344 39.905C15.3344 39.4161 15.3158 37.8007 15.3072 36.0872C9.74314 37.3277 8.56906 33.6677 8.56906 33.6677C7.65927 31.2975 6.3484 30.6672 6.3484 30.6672C4.53379 29.3945 6.48519 29.4206 6.48519 29.4206C8.49355 29.5653 9.55105 31.5338 9.55105 31.5338C11.3349 34.6688 14.2298 33.7624 15.3711 33.2385C15.5506 31.9131 16.069 31.0085 16.6409 30.4964C12.1986 29.9779 7.52878 28.2195 7.52878 20.3621C7.52878 18.1232 8.31007 16.294 9.58947 14.8579C9.38181 14.3414 8.69723 12.2557 9.78322 9.43111C9.78322 9.43111 11.4627 8.87998 15.2847 11.5331C16.8801 11.0787 18.591 10.8509 20.2907 10.8431C21.9904 10.8509 23.7027 11.0787 25.301 11.5331C29.1183 8.87998 30.7955 9.43111 30.7955 9.43111C31.8842 12.2557 31.1992 14.3414 30.9916 14.8579C32.274 16.294 33.05 18.1232 33.05 20.3621C33.05 28.2382 28.3712 29.9724 23.9176
30.4801C24.635 31.1165 25.2742 32.3644 25.2742 34.2776C25.2742 37.0214 25.251 39.2296 25.251 39.905C25.251 40.4507 25.611 41.0902 26.6248 40.8888C34.5672 38.1742 40.2905 30.4903 40.2905 21.4331C40.2905 10.1075 31.336 0.926758 20.2907 0.926758Z" />
</svg>
</a>
<a href="https://www.reddit.com/r/SimpleXChat/" target="_blank">
<svg class="fill-primary-light dark:fill-primary-dark" width="32" height="32" viewBox="0 0 41 41" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.874 40.9268C31.9197 40.9268 40.874 31.9724 40.874 20.9268C40.874 9.88108 31.9197 0.926758 20.874 0.926758C9.82834 0.926758 0.874023 9.88108 0.874023 20.9268C0.874023 31.9724 9.82834 40.9268 20.874 40.9268ZM30.4091 16.615C31.9031 16.615 33.1157 17.8276 33.1157 19.3216C33.1157 20.426 32.4445 21.3787 31.5567 21.8118C31.6 22.0716 31.6217 22.3315 31.6217 22.613C31.6217 26.7705 26.7929 30.1268 20.8165 30.1268C14.8402 30.1268 10.0114 26.7705 10.0114 22.613C10.0114 22.3315 10.0331 22.05 10.0764 21.7902C9.12362 21.3571 8.47402 20.426 8.47402 19.3216C8.47402 17.8276 9.68662 16.615 11.1807 16.615C11.8953 16.615 12.5665 16.9181 13.0429 17.3728C14.9051 16.0086 17.4819 15.1642 20.3618 15.0776L21.726 8.6248C21.7693 8.49488 21.8343 8.3866 21.9425 8.32164C22.0508 8.25668 22.1807 8.23504 22.3106 8.25668L26.7929 9.20944C27.0961 8.55984 27.7457 8.12676 28.5035 8.12676C29.5646 8.12676 30.4307 8.99292 30.4307
10.0539C30.4307 11.115 29.5646 11.9811 28.5035 11.9811C27.4642 11.9811 26.6197 11.1582 26.5764 10.1406L22.5705 9.29604L21.3362 15.0776C24.1512 15.1858 26.7063 16.052 28.5469 17.3728C29.0232 16.8964 29.6728 16.615 30.4091 16.615ZM16.5291 19.3216C15.4681 19.3216 14.602 20.1878 14.602 21.2488C14.602 22.3098 15.4681 23.176 16.5291 23.176C17.5902 23.176 18.4563 22.3098 18.4563 21.2488C18.4563 20.1878 17.5902 19.3216 16.5291 19.3216ZM20.7949 27.7449C21.5311 27.7449 24.0429 27.6582 25.3638 26.3374C25.5587 26.1425 25.5587 25.8394 25.4071 25.6228C25.2122 25.428 24.8874 25.428 24.6925 25.6228C23.848 26.4456 22.0941 26.7488 20.8165 26.7488C19.539 26.7488 17.7634 26.4456 16.9405 25.6228C16.7457 25.428 16.4209 25.428 16.226 25.6228C16.0311 25.8177 16.0311 26.1425 16.226 26.3374C17.5252 27.6366 20.0587 27.7449 20.7949 27.7449ZM23.0902 21.2488C23.0902 22.3098 23.9563 23.176 25.0173 23.176C26.0783 23.176 26.9445 22.3098 26.9445 21.2488C26.9445 20.1878 26.0783
19.3216 25.0173 19.3216C23.9563 19.3216 23.0902 20.1878 23.0902 21.2488Z" />
</svg>
</a>
<a href="https://twitter.com/simplexchat" target="_blank">
<svg class="fill-primary-light dark:fill-primary-dark" width="32" height="32" viewBox="0 0 41 41" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.4575 40.9268C31.5032 40.9268 40.4575 31.9725 40.4575 20.9268C40.4575 9.88106 31.5032 0.926758 20.4575 0.926758C9.41182 0.926758 0.45752 9.88106 0.45752 20.9268C0.45752 31.9725 9.41182 40.9268 20.4575 40.9268ZM29.916 16.7766C29.916 23.1157 25.014 30.4265 16.0519 30.4265V30.423C13.4038 30.4265 10.8115 29.6795 8.58252 28.2719C8.96846 28.3174 9.35558 28.3397 9.74271 28.3409C11.9372 28.3432 14.0688 27.6182 15.7942 26.283C13.7101 26.2444 11.8802 24.9055 11.2425 22.9507C11.9716 23.0898 12.7245 23.0619 13.4418 22.869C11.1689 22.4165 9.53371 20.4504 9.53252 18.1671V18.1062C10.2106 18.478 10.9694 18.6835 11.7448 18.7057C9.60377 17.2981 8.94233 14.4948 10.2355 12.3026C12.7103 15.2992 16.3606 17.1207 20.2782 17.3147C19.8851 15.6487 20.4231 13.902 21.6878 12.7306C23.6507 10.9137 26.737 11.0073 28.5824 12.9387C29.6737 12.7271 30.7199 12.3327 31.677 11.7738C31.3125 12.8857 30.5513 13.828 29.5348 14.4277C30.5002
14.3155 31.4443 14.0609 32.3325 13.6728C31.6782 14.6362 30.8553 15.4781 29.9017 16.1562C29.916 16.362 29.916 16.5685 29.916 16.7766Z" />
</svg>
</a>
<a href="https://www.linkedin.com/company/simplex-chat/" target="_blank">
<svg class="fill-primary-light dark:fill-primary-dark" width="32" height="32" viewBox="0 0 41 41" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.0408 0.926758C8.9951 0.926758 0.0407715 9.88109 0.0407715 20.9268C0.0407715 31.9724 8.9951 40.9268 20.0408 40.9268C31.0864 40.9268 40.0408 31.9724 40.0408 20.9268C40.0408 9.88109 31.0864 0.926758 20.0408 0.926758ZM9.6421 17.4916H14.1745V31.1098H9.6421V17.4916ZM14.4731 13.279C14.4437 11.9438 13.4889 10.9268 11.9383 10.9268C10.3878 10.9268 9.3741 11.9438 9.3741 13.279C9.3741 14.5866 10.3579 15.6328 11.8794 15.6328H11.9084C13.4889 15.6328 14.4731 14.5866 14.4731 13.279ZM25.3017 17.1718C28.2843 17.1718 30.5203 19.1187 30.5203 23.3015L30.5201 31.1098H25.9879V23.824C25.9879 21.994 25.3319 20.7453 23.6912 20.7453C22.439 20.7453 21.6932 21.5871 21.3656 22.4003C21.2458 22.6916 21.2164 23.0976 21.2164 23.5046V31.1101H16.6834C16.6834 31.1101 16.7431 18.7698 16.6834 17.492H21.2164V19.4208C21.8179 18.4936 22.8953 17.1718 25.3017 17.1718Z" />
</svg>
</a>
<a href="https://simplex.chat/feed.rss" target="_blank">
<svg class="fill-primary-light dark:fill-primary-dark" width="32" height="32" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M256 512C397.385 512 512 397.385 512 256C512 114.615 397.385 0 256 0C114.615 0 0 114.615 0 256C0 397.385 114.615 512 256 512ZM132.791 157.572C215.586 161.137 279.503 196.841 323.612 267.517C344.138 302.436 354.186 339.959 354.57 380.122H406.814C409.639 231.301 280.977 103.1 132.791 106.05V157.572ZM309.994 343.843C311.593 356.035 313.096 367.877 314.65 380.116H261.161C260.496 344.968 248.303 314.452 223.472 289.485C198.613 264.491 168.097 252.282 132.755 251.38V199.743C198.318 196.346 288.694 244.344 309.994 343.843ZM132.766 336.706C129.293 354.261 137.796 370.323 154.848 378.004L155.461 378.242C156.267 378.558 156.912 378.81 157.577 378.985C173.012 383.066 186.298 379.318 196.604 367.168C206.463 355.544 208.397 342.145 201.87 328.354C195.205 314.271 183.419 307.215 167.834 307.356C151.188 307.509 135.971 320.504 132.766 336.706Z" />
</svg>
</a>
</div>
</div>
</article>
</div>
<a href="#" class="text-grey-black dark:text-white text-[16px] text-center lg:ltr:text-left lg:rtl:text-right font-medium leading-[28px] tracking-[0.01em] block mt-[60px]">© 2020-2024 SimpleX | Open-Source Project</a>
</div>
</section>
<script src="/js/animation.js"></script>
<script src="/js/swiper-bundle.min.js"></script>
<script src="/js/script.js"></script>
</body>
</html>