PageSourceSearch

https://secretlyapp.com/blog

html secretlyapp.com collected 2026-10-02 01:42:39 UTC 17,062 bytes, 65 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><title data-rh="true">Secretly Blog — Privacy &amp; Security Notes</title><meta data-rh="true" name="description" content="Plain-language writing from the Secretly team on private messaging, end-to-end encryption, disappearing messages, and staying private online."><meta data-rh="true" name="robots" content="index, follow"><meta data-rh="true" property="og:title" content="Secretly Blog — Privacy &amp; Security Notes"><meta data-rh="true" property="og:description" content="Plain-language writing from the Secretly team on private messaging, end-to-end encryption, disappearing messages, and staying private online."><meta data-rh="true" property="og:url" content="https://www.secretlyapp.com/blog"><meta data-rh="true" property="og:image" content="https://www.secretlyapp.com/og-image.jpg"><meta data-rh="true" name="twitter:title" content="Secretly Blog — Privacy &amp; Security Notes"><meta data-rh="true" name="twitter:description" content="Plain-language writing from the Secretly team on private messaging, end-to-end encryption, disappearing messages, and staying private online."><meta data-rh="true" name="twitter:image" content="https://www.secretlyapp.com/og-image.jpg"><link data-rh="true" rel="canonical" href="https://www.secretlyapp.com/blog">
2    <meta charset="UTF-8">
3    <meta name="viewport" content="width=device-width, initial-scale=1.0">
4
5    <!-- Per-page <title>, description, canonical, og:url/title/description and
6         twitter:title/description are injected per route by components/Seo.tsx
7         (see src/seo.ts). Only shared/static tags live here. -->
8
9    <!-- Theme + icons -->
10    <meta name="theme-color" content="#0a0a0c">
11
12    <!-- Apply the saved/system theme before first paint (no flash of wrong theme) -->
13    
13<script>
14      (function () {
15        try {
16          var t = localStorage.getItem('theme');
17          if (t !== 'light' && t !== 'dark') {
18            t = window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark';
19          }
20          document.documentElement.setAttribute('data-theme', t);
21          var m = document.querySelector('meta[name="theme-color"]');
22          if (m) m.setAttribute('content', t === 'light' ? '#fbf8f3' : '#0a0a0c');
23        } catch (e) {
24          document.documentElement.setAttribute('data-theme', 'dark');
25        }
26      })();
27    </script>
27
28    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
29    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png">
30    <!-- Glyph only, black/white by the browser's colour scheme; PNGs above are the fallback -->
31    <link rel="icon" type="image/svg+xml" href="/favicon.svg">
32    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
33    <link rel="manifest" href="/manifest.json">
34
35    <!-- Open Graph (shared) -->
36    <meta property="og:type" content="website">
37    <meta property="og:image" content="https://www.secretlyapp.com/og-image.jpg">
38    <meta property="og:image:width" content="1200">
39    <meta property="og:image:height" content="630">
40    <meta property="og:image:type" content="image/jpeg">
41    <meta property="og:site_name" content="Secretly">
42    <meta property="og:locale" content="en_US">
43
44    <!-- Twitter Card (shared) -->
45    <meta name="twitter:card" content="summary_large_image">
46    <meta name="twitter:site" content="@Secretly_App">
47    <meta name="twitter:image" content="https://www.secretlyapp.com/og-image.jpg">
48
49    <!-- Fonts are self-hosted (see src/fonts.css) — no external requests. -->
50
51    <!-- No-script fallback -->
52    <noscript>
53      <style>body { cursor: auto !important; }</style>
54    </noscript>
55    
55<script type="module" crossorigin="" src="/assets/app-BKGiwsQM.js"></script>
55
56    <link rel="modulepreload" crossorigin="" href="/assets/vendor-react-CbVgoqQi.js">
57    <link rel="stylesheet" crossorigin="" href="/assets/app-BjPNIZA4.css">
58  <link rel="modulepreload" crossorigin="" href="/assets/BlogIndex-BdFJDVxz.js"></head>
59  <body>
60    <div id="root" data-server-rendered="true"><div class="circuit-field" aria-hidden="true"><svg viewBox="0 0 1440 900" preserveAspectRatio="xMidYMid slice" fill="none"><path class="circuit-trace" d="M-40 160 H240 V320 H540"></path><path class="circuit-trace" d="M1480 200 H1180 V400 H980 V300 H720"></path><path class="circuit-trace" d="M-40 720 H180 V560 H440 V690 H760"></path><path class="circuit-trace" d="M1480 760 H1240 V600 H1020 V700 H860"></path><path class="circuit-trace" d="M700 -40 V120 H900 V280"></path><path class="circuit-trace" d="M360 940 V800 H560 V860"></path><circle class="circuit-node" cx="240" cy="320" r="3"></circle><circle class="circuit-node" cx="540" cy="320" r="3"></circle><circle class="circuit-node" cx="980" cy="300" r="3"></circle><circle class="circuit-node" cx="720" cy="300" r="3"></circle><circle class="circuit-node" cx="180" cy="560" r="3"></circle><circle class="circuit-node" cx="440" cy="560" r="3"></circle><circle class="circuit-node" cx="900" cy="120" r="3"></circle><circle class="circuit-node" cx="560" cy="800" r="3"></circle><circle class="circuit-node" cx="1020" cy="700" r="3"></circle><path class="circuit-pulse" d="M-40 160 H240 V320 H540" pathLength="1" style="animation-delay:0s;animation-duration:15s"></path><path class="circuit-pulse" d="M1480 200 H1180 V400 H980 V300 H720" pathLength="1" style="animation-delay:4.5s;animation-duration:17s"></path><path class="circuit-pulse" d="M-40 720 H180 V560 H440 V690 H760" pathLength="1" style="animation-delay:9s;animation-duration:16s"></path><path class="circuit-pulse" d="M700 -40 V120 H900 V280" pathLength="1" style="animation-delay:12.5s;animation-duration:18s"></path></svg></div><div class="cursor-dot"></div><div class="cursor-ring"></div><div class="cursor-spotlight"></div><div aria-hidden="true" style="position:fixed;top:0;left:0;z-index:9999;height:2px;width:100%;background:rgba(var(--accent-rgb), 0.10);pointer-events:none"><div style="height:100%;width:0%;background:linear-gradient(90deg, var(--accent), var(--accent-blue));box-shadow:0 0 8px rgba(var(--accent-rgb), 0.6);transition:width 80ms linear;will-change:width"></div></div><a href="#main" class="skip-link">Skip to content</a><nav class="navbar "><div class="container"><div class="navbar__inner"><a class="navbar__logo" href="/"><span class="logo-mark navbar__logo-icon" aria-hidden="true"></span>Secretly</a><div class="navbar__nav"><a class="navbar__link" href="/">Home</a><a class="navbar__link" href="/features">Features</a><a class="navbar__link" href="/download">Download</a><a class="navbar__link" href="/about">About</a><a class="navbar__link" href="/help">Help</a><a class="navbar__link" href="/donate">Donate</a><button type="button" class="theme-toggle" aria-label="Switch to light theme"><svg class="theme-toggle__ic theme-toggle__ic--shown" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"></path></svg><svg class="theme-toggle__ic theme-toggle__ic--hidden" width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"></path></svg></button><div class="lang-switcher"><button class="lang-switcher__btn" aria-label="Switch language"><span class="lang-switcher__flag">🇬🇧</span><span class="lang-switcher__code">EN</span><svg width="10" height="6" viewBox="0 0 10 6" fill="none" style="opacity:0.5;transition:transform 0.2s;transform:none"><path d="M1 1l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></div><a class="btn btn--primary navbar__cta" style="margin-left:12px" href="/download">Download</a></div><button class="navbar__mobile-menu" aria-label="Toggle menu" style="background:none;border:none;padding:8px;
60cursor:pointer"><svg width="22" height="16" viewBox="0 0 22 16" fill="none"><rect y="0" width="22" height="2" rx="1" fill="currentColor"></rect><rect y="7" width="22" height="2" rx="1" fill="currentColor" style="transition:width 0.25s ease"></rect><rect y="14" width="22" height="2" rx="1" fill="currentColor"></rect></svg></button></div></div></nav><div class="nav-drawer "><div class="nav-drawer__links"><a class="nav-drawer__link" href="/">Home</a><a class="nav-drawer__link" href="/features">Features</a><a class="nav-drawer__link" href="/download">Download</a><a class="nav-drawer__link" href="/about">About</a><a class="nav-drawer__link" href="/help">Help</a><a class="nav-drawer__link" href="/donate">Donate</a><div class="lang-mobile-grid"><button class="lang-mobile-btn active"><span>🇬🇧</span><span>EN</span></button><button class="lang-mobile-btn "><span>🇷🇺</span><span>RU</span></button><button class="lang-mobile-btn "><span>🇪🇸</span><span>ES</span></button><button class="lang-mobile-btn "><span>🇫🇷</span><span>FR</span></button><button class="lang-mobile-btn "><span>🇩🇪</span><span>DE</span></button><button class="lang-mobile-btn "><span>🇧🇷</span><span>PT</span></button><button class="lang-mobile-btn "><span>🇸🇦</span><span>AR</span></button><button class="lang-mobile-btn "><span>🇨🇳</span><span>ZH</span></button><button class="lang-mobile-btn "><span>🇯🇵</span><span>JA</span></button><button class="lang-mobile-btn "><span>🇮🇹</span><span>IT</span></button></div><div class="nav-drawer__cta"><a class="btn btn--primary" style="width:100%" href="/download">Download<!-- --> Secretly</a></div></div></div><main id="main"><div><div><section class="page-hero"><div class="container"><p class="page-hero__kicker reveal">Blog</p><h1 class="page-hero__title reveal reveal-delay-1">Notes on privacy &amp; security</h1><p class="page-hero__sub reveal reveal-delay-2">Plain-language writing on how Secretly protects you — and how private messaging actually works.</p></div></section><div class="divider"></div><section class="section"><div class="container"><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:22px;max-width:980px"><a class="blog-card reveal reveal-delay-1" href="/blog/disappearing-messages"><div class="blog-card__meta"><span>June 27, 2026</span><span>·</span><span>2<!-- --> min read</span></div><h2 class="blog-card__title">Disappearing messages: privacy that cleans up after itself</h2><p class="blog-card__excerpt">The most private message is the one that no longer exists. Here's how auto-delete works in Secretly, what it can and can't do — and why it's free for everyone.</p><span class="blog-card__more">Read article →</span></a><a class="blog-card reveal reveal-delay-2" href="/blog/how-encryption-works"><div class="blog-card__meta"><span>June 24, 2026</span><span>·</span><span>2<!-- --> min read</span></div><h2 class="blog-card__title">How end-to-end encryption works in Secretly</h2><p class="blog-card__excerpt">End-to-end encryption is more than a checkbox. Here's what actually happens when you send a message — in plain language.</p><span class="blog-card__more">Read article →</span></a><a class="blog-card reveal reveal-delay-3" href="/blog/why-no-phone-number"><div class="blog-card__meta"><span>June 20, 2026</span><span>·</span><span>2<!-- --> min read</span></div><h2 class="blog-card__title">Why Secretly doesn't ask for your phone number</h2><p class="blog-card__excerpt">Most messengers tie your identity to a phone number. Secretly doesn't — and that single design choice changes everything about your privacy.</p><span class="blog-card__more">Read article →</span></a></div></div></section></div></div></main><footer class="footer"><div class="container"><div class="footer__grid"><div class="footer__brand"><a class="footer__logo" href="/"><span class="logo-mark footer__logo-icon" aria-hidden="true"></span>Secretly</a><p class="footer__tagline">Private messaging for people and teams who need secure communication without phone numbers, email, or surveillance.</p><div class="footer__socials"><a href="https://x.com/Secretly_App" target="_blank" rel="noopener noreferrer" class="footer__social-link" aria-label="X (Twitter)"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.23
601H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.63 5.905-5.63Zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg></a><a href="https://facebook.com/secretlysecureapp" target="_blank" rel="noopener noreferrer" class="footer__social-link" aria-label="Facebook"><svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg></a><a href="https://github.com/Arkhanhel/Secretly" target="_blank" rel="noopener noreferrer" class="footer__social-link" aria-label="GitHub — open source"><svg width="15" height="15" viewBox="0 0 24 24" fill="currentColor"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></a></div></div><div><p class="footer__col-title">Product</p><div class="footer__col-links"><a class="footer__col-link" href="/features">Features</a><a class="footer__col-link" href="/download">Download</a><a class="footer__col-link" href="/pricing">Pricing</a><a class="footer__col-link" href="/security">Security</a><a class="footer__col-link" href="/compare">Compare</a></div></div><div><p class="footer__col-title">Company</p><div class="footer__col-links"><a class="footer__col-link" href="/about">About Us</a><a class="footer__col-link" href="/teams">For Teams</a><a class="footer__col-link" href="/donate">Donate</a><a class="footer__col-link" href="/contact">Contact</a></div></div><div><p class="footer__col-title">Resources</p><div class="footer__col-links"><a class="footer__col-link" href="/blog">Blog</a><a class="footer__col-link" href="/help">Help Center</a><a class="footer__col-link" href="/support">Support</a><a class="footer__col-link" href="/privacy-policy">Privacy Policy</a><a class="footer__col-link" href="/terms-of-service">Terms of Service</a><a class="footer__col-link" href="/delete-account">Delete Account</a></div></div></div><div class="footer__bottom"><p class="footer__copy">© 2026 SIA Secretly (this site, MIT) · Messenger source code © 2025–2026 Yurii Arkhanhelskyi,<!-- --> <a href="https://github.com/Arkhanhel/Secretly" target="_blank" rel="noopener noreferrer">AGPL-3.0</a></p><p class="footer__copy" style="opacity:0.72;font-size:0.78rem;margin-top:6px">SIA Secretly · Reg. No. 40203722244 · Pāvila Rozīša iela 1–13, Valmiera, LV-4201, Latvia ·<!-- --> <a href="mailto:[email protected]">[email protected]</a></p><div class="footer__legal"><a class="footer__legal-link" href="/privacy-policy">Privacy Policy</a><a class="footer__legal-link" href="/terms-of-service">Terms of Service</a><a class="footer__legal-link" href="/dpa">DPA</a><a class="footer__legal-link" href="/verify">Verify a build</a></div></div></div></footer><button aria-label="Back to top" class="back-to-top" style="opacity:0;transform:translateY(16px);pointer-events:none"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"></polyline></svg></button>
60<script>window.__staticRouterHydrationData = JSON.parse("{\"loaderData\":{\"0\":null},\"actionData\":null,\"errors\":null}");</script>
60</div>
61<script>window.__VITE_REACT_SSG_HASH__ = 'l09fay0v71'</script>
61
62  
63
64<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"cb75ad5c67bb438dafb617e9ffcbb912","r":1,"spa":2}' crossorigin="anonymous"></script>
64
65</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.