AegisChat adalah aplikasi chat real-time dengan enkripsi ujung-ke-ujung (E2EE) yang kuncinya Anda pegang sendiri, mirip PGP tapi berbentuk antarmuka chat.
Prinsip utama: server tidak tahu isi pesan Anda. Server hanya menerima, meneruskan, dan menyimpan ciphertext (teks acak). Kunci rahasia (Secret Key) tidak pernah dikirim ke server.
2. Registrasi Akun & Verifikasi OTP
Buka halaman depan (/) — Anda disambut form registrasi.
Isi Username, Email, dan Password (minimal 6 karakter).
Pilih avatar emoji sebagai identitas visual akun Anda.
Klik tombol registrasi. Sistem mengirim kode OTP 6 digit ke email Anda.
Buka email, salin kode OTP, masukkan di halaman verifikasi, lalu klik verifikasi.
⚠️ Kode OTP berlaku 10 menit dan hanya bisa dipakai sekali. Kalau kedaluwarsa, minta kode baru atau daftar ulang.
3. Login
Buka /login.
Masukkan Username atau Email dan Password.
Klik LOGIN. Berhasil → langsung diarahkan ke halaman Chat.
Sudah login sebelumnya? Buka /login lagi dan Anda otomatis dialihkan ke halaman chat (sesi disimpan di browser).
Pesan error dari server ditampilkan dalam Bahasa Indonesia bila Anda memakai antarmuka Indonesia.
4. Lupa Password
Di halaman login, klik Forgot Password?.
Masukkan email akun Anda.
Cek email: kode OTP 6 digit akan dikirim.
Masukkan OTP, lalu tentukan password baru (min. 6 karakter).
Login dengan password baru.
5. Beranda & Daftar Percakapan
Beranda adalah halaman pertama setelah login. Di sini semua percakapan Anda terkumpul.
Setiap baris menampilkan lawan bicara/grup, cuplikan pesan terakhir, dan waktunya.
Klik baris untuk membuka percakapan tersebut.
Ikon mata dicoret di kanan baris untuk menyembunyikan percakapan dari beranda (lihat bagian Sembunyikan Percakapan).
Navigasi bawah/atas: Beranda, Chat, Kontak, Profil, dan Panduan. Bar status menampilkan waktu lokal Anda dan username yang sedang login.
6. Kontak
Di navigasi, klik Kontak. Jendela daftar kontak terbuka.
Gunakan kolom pencarian untuk menyaring nama kontak.
Klik salah satu kontak untuk membuka percakapan dengannya.
Nama partner chat di header obrolan juga bisa diklik, membuka halaman profilnya.
Menu Kontak juga memuat Groups, Friend Requests, dan Group Invites.
7. Menambahkan Kontak & Permintaan Pertemanan
Buka Kontak → Add Contact.
Ketik username yang ingin ditambahkan; hasil pencarian muncul langsung.
Klik nama orangnya untuk mengirim permintaan pertemanan.
Penerima melihat permintaan di Kontak → Friend Requests dan bisa menekan Accept (terima) atau Reject (tolak).
Begitu diterima, kalian saling muncul di daftar kontak dan bisa mulai chat.
Menambahkan kontak selalu butuh persetujuan orangnya — tidak ada yang bisa memaksa masuk ke daftar kontak Anda.
8. Enkripsi Pesan (Manual)
Inilah alur wajib sebelum mengirim pesan:
Langkah 1
Tulis pesan pada kolom input.
Langkah 2
Masukkan Secret Key (kunci rahasia) yang sudah Anda sepakati dengan lawan bicara. Kunci ini tidak pernah dikirim ke server.
Langkah 3
Klik ENKRIPSI. Pesan berubah menjadi ciphertext acak (berawalan agcv1.) di kolom input.
Langkah 4
Klik tombol ▶ untuk mengirim ciphertext tersebut.
Algoritma: AES-256-GCM dengan kunci turunan PBKDF2-HMAC-SHA256 (310.000 iterasi), salt 16 byte dan IV 12 byte acak per pesan. Semua diproses 100% di browser Anda. Mode GCM sekaligus mendeteksi pesan yang diubah di tengah jalan.
Kolom Secret Key tidak otomatis dikosongkan setelah mengirim, supaya Anda bisa mengirim beberapa pesan berturut-turut tanpa mengetik ulang. Kosongkan manual bila berpindah lawan bicara.
9. Dekripsi Pesan
Pesan masuk tampil sebagai ciphertext acak — ini normal dan memang disengaja.
Klik tombol DEKRIPSI pada balon pesan yang ingin dibaca.
Masukkan Secret Key yang sama dengan milik pengirim (modal kosong, harus diketik ulang).
Pesan asli muncul menggantikan ciphertext.
⚠️ Salah kunci = dekripsi gagal. Pastikan Anda dan lawan bicara memakai Secret Key yang persis sama (termasuk huruf besar/kecil). Sepakati kunci lewat kanal lain (tatap muka, telepon), jangan lewat chat ini sendiri.
10. Kirim Gambar / File
Klik ikon 📎 (paperclip) di samping kolom input.
Pilih file. Jenis yang didukung: gambar, video, audio, PDF, DOC/DOCX, XLS/XLSX, PPT/PPTX, TXT, CSV, dan ZIP.
Nama file dan ukurannya tampil sebagai pratinjau.
Isi Secret Key, lalu klik ▶ untuk mengirim. File dienkripsi di browser dulu sebelum dikirim.
Penerima mengklik DEKRIPSI untuk membukanya.
Batas ukuran file 20 MB. File kecil (≤ 3 MB) disimpan di database; file besar (> 3 MB) diunggah terenkripsi ke penyimpanan privat. Saat mengunggah file besar muncul bilah progres, dan bila gagal ada tombol Retry.
⚠️ File > 20 MB ditolak sistem. Saat ditolak, muncul popup yang menyebut nama dan ukuran file, lalu menyarankan Anda mengunggahnya ke penyimpanan awan dan mengirim tautannya. Ada empat tombol pintasan: Google Drive, MediaFire, OneDrive, dan Penyimpanan lain.
Tautan yang dikirim di dalam pesan bisa diklik langsung dan terbuka di tab baru. Hanya tautan http dan https yang aktif, jadi tautan aman dari penyalahgunaan.
Kuota penyimpanan per akun. Ada dua kuota terpisah, dihitung dari file yang kamu kirim (di chat pribadi maupun grup):
Database 50 MB untuk file kecil (≤ 3 MB).
Penyimpanan awan 100 MB untuk file besar (> 3 MB).
⚠️ Kalau kuota sudah penuh, upload ditolak dan muncul popup Penyimpanan penuh. Popup itu menampilkan dua bilah kuota, daftar file yang pernah kamu kirim (bisa dicentang), tombol Hapus terpilih, dan empat tombol pintasan penyimpanan awan supaya kamu bisa kirim link sebagai gantinya.
Hapus dari popup kuota tidak terikat batas 24 jam — kamu boleh membersihkan file berapa pun umurnya. Yang bisa dihapus tetap hanya file milikmu sendiri.
11. Balas Pesan (Reply)
Untuk menandai pesan mana yang sedang Anda balas, di chat pribadi maupun grup:
Geser balon pesan ke kanan (tahan lalu tarik dengan jari, atau tahan-klik dan seret dengan mouse) sekitar 60 piksel sampai balon menyala.
Lepaskan. Bar “Membalas” muncul di atas kolom input, menampilkan nama pengirim dan cuplikan pesannya.
Tulis pesan Anda seperti biasa (enkripsi dulu bila perlu), lalu kirim.
Pesan baru Anda kini membawa kutipan pesan aslinya. Klik kutipan itu untuk melompat ke pesan asli (pesannya berkedip sebentar).
Kutipan menampilkan nama pengirim + potongan isi. Kalau pesan aslinya masih terenkripsi, kutipan menampilkan penanda “Pesan terenkripsi”. Untuk membatalkan balasan, klik tombol ✕ di bar “Membalas”.
12. Tanda Pesan Dibaca
Setiap pesan yang Anda kirim punya penanda status:
🕐 jam, pesan sedang dikirim (menunggu konfirmasi).
✓ centang satu, pesan terkirim, belum dibaca penerima.
✓✓ centang dua, pesan sudah dibaca penerima.
⚠️ tanda seru, pesan gagal terkirim.
13. Hapus Pesan (Satuan & Massal)
Hapus satu pesan: arahkan ke balon pesan milik Anda sendiri, lalu klik ikon 🗑️. Pesan langsung hilang.
Hapus massal (bulk delete):
Klik tombol Pilih Pesan di header area chat. Kotak centang muncul di setiap pesan Anda yang masih bisa dihapus.
Centang pesan-pesan yang ingin dihapus.
Klik tombol Hapus. Dialog konfirmasi akan menyebut jumlah pesan yang terpilih.
Klik Batal untuk membatalkan dan keluar dari mode pilih.
⚠️ Aturan 24 jam: pesan hanya bisa dihapus dalam rentang kurang dari 24 jam sejak dikirim, dan hanya oleh pengirimnya. Menghapus file juga menghapus berkasnya dari penyimpanan.
Pengecualian: pembersihan lewat popup Penyimpanan penuh (lihat bagian 10) tidak terikat batas 24 jam, supaya Anda bisa mengosongkan ruang kapan saja. Yang bisa dihapus tetap hanya file milik Anda sendiri.
14. Sembunyikan Percakapan
Ingin beranda tetap rapi tanpa menghapus obrolan? Sembunyikan saja.
Di Beranda, klik ikon mata dicoret di kanan baris percakapan.
Konfirmasi, lalu percakapan itu hilang dari daftar beranda Anda.
Sifatnya per-akun: hanya beranda Anda yang terpengaruh, lawan bicara tetap menyimpan percakapannya. Kalau ada pesan baru, percakapan otomatis muncul lagi di beranda.
15. Profil & Pengaturan Akun
Buka lewat Profil di navigasi, atau klik nama partner chat.
Lihat profil: avatar besar, nama, dan @username.
Ganti avatar: klik avatar besar Anda → pilih emoji baru → simpan.
Edit profil (tombol ✏️ Edit Profile):
Ganti username saja → langsung tersimpan, tanpa OTP.
Ganti email dan/atau password → wajib konfirmasi OTP 6 digit yang dikirim ke email Anda. Langkah keamanan ekstra agar orang lain tidak bisa mengubah kredensial akun Anda.
Tombol ← Back mengembalikan Anda ke area chat.
16. Blokir Pengguna
Buka profil pengguna lain (klik namanya di header chat, atau lewat Kontak).
Klik tombol 🚫 Blokir Pengguna di halaman profilnya.
Setelah diblokir: Anda berdua tidak saling tampak di daftar kontak dan tidak bisa saling berkirim pesan.
Blokir bisa dibuka kembali (🔓 Buka Blokir) dari tempat yang sama.
Status yang mungkin muncul di daftar: 🚫 Kamu blokir (Anda memblokir dia) dan 🚫 Blokir kamu (dia memblokir Anda).
17. Catatan Keamanan Penting
Zero-knowledge server: server hanya menyimpan ciphertext. Isi pesan, Secret Key, dan hasil dekripsi tidak pernah menyentuh server.
Secret Key = tanggung jawab Anda. Kunci hilang → pesan tak bisa dibaca siapa pun. Bagikan kunci hanya ke orang terpercaya, lewat kanal di luar aplikasi ini.
Autentikasi pesan: mode AES-GCM membuat pesan yang diubah di tengah jalan terdeteksi (dekripsi gagal), bukan diterima diam-diam.
Password akun disimpan sebagai hash bcrypt di server; tetap jangan pakai password yang sama dengan layanan lain.
OTP via email melindungi perubahan email/password dan proses reset. Jangan bagikan kode OTP ke siapa pun.
Kekuatan enkripsi bergantung pada Secret Key Anda — pakai kunci panjang dan sulit ditebak.
18. Grup Chat
Membuat grup:
Buka Kontak → New Group.
Isi nama grup, centang kontak yang mau dimasukkan, lalu klik Create. Anggota terpilih langsung masuk grup.
Chat grup: grup tampil di daftar Groups pada menu Kontak. Klik grup untuk membukanya. Enkripsinya sama persis dengan chat pribadi: tulis pesan → isi Secret Key → ENKRIPSI → ▶. Grup terakhir yang Anda buka diingat, jadi refresh halaman tetap kembali ke grup yang sama.
Group Info: klik nama grup di header obrolan. Di sana ada nama grup, jumlah anggota, dan daftar anggota — pembuat grup bertanda (admin). Klik salah satu anggota untuk langsung membuka chat pribadi dengannya (bila ia belum jadi kontak Anda, muncul peringatan).
Hak admin:
Tambah Anggota — pilih kontak untuk diundang. Yang diundang tidak langsung masuk: undangan muncul di Kontak miliknya, bagian Group Invites, dan ia harus menekan Join (setuju) atau Decline (tolak).
Keluarkan anggota — tombol hapus di samping anggota non-admin pada daftar anggota.
Bubarkan Grup — membubarkan grup dan menghapus seluruh keanggotaannya. Hanya admin.
⚠️ Keluar Grup meminta konfirmasi dan tidak bisa dibatalkan — untuk bergabung lagi, admin harus mengundang Anda ulang. Kalau yang keluar adalah admin, ia harus memilih pengganti admin dari anggota yang tersisa.
19. Bahasa & Tampilan
Di navigasi atas ada tombol bendera 🇮🇩 / 🇬🇧. Klik untuk berganti bahasa antarmuka (Indonesia ↔ Inggris); seluruh teks langsung berubah tanpa reload.
Halaman Panduan ini punya tombol INDONESIA / ENGLISH sendiri di kanan atas.
Tombol ↑ di kanan bawah mengembalikan Anda ke atas halaman.
Di perangkat mobile, header chat dan kolom input tetap menempel (tidak ikut tergulung) sehingga Anda selalu bisa mengetik.
20. Privasi Layar (Blur Otomatis)
Supaya isi percakapan tidak ikut terlihat saat Anda berpindah aplikasi atau bersiap mengambil tangkapan layar, AegisChat menutup layar chat dengan lapisan buram secara otomatis.
Kapan layar otomatis diburamkan:
Anda berpindah ke aplikasi atau jendela lain (jendela chat kehilangan fokus).
Anda pindah tab atau meninggalkan browser (di HP: membuka aplikasi lain).
Anda menekan tombol PrintScreen.
Kapan muncul lagi: begitu jendela/tab kembali aktif, isi chat tampil sendiri tanpa perlu klik. Kalau tertutup karena PrintScreen, cukup klik di mana saja atau tekan Enter.
Lapisan buram menampilkan ikon mata, tulisan Konten disembunyikan, dan petunjuk Klik untuk menampilkan lagi — semuanya mengikuti bahasa yang sedang aktif.
⚠️ Jujur soal batasnya: tidak ada halaman web yang bisa memblokir screenshot secara mutlak. Browser sengaja tidak menyediakan kemampuan itu, dan foto layar memakai kamera HP tidak bisa dicegah perangkat lunak apa pun. Blur otomatis ini menutup kasus yang paling umum (berpindah ke alat screenshot di laptop), bukan proteksi penuh. Untuk chat yang benar-benar rahasia, tetap jaga perangkat Anda dan jangan tinggalkan layar terbuka.
1. About AegisChat
AegisChat is a real-time chat app with end-to-end encryption (E2EE) where you hold the keys yourself, similar to PGP but in a chat interface.
Core principle: the server never knows your message content. It only receives, forwards, and stores ciphertext (random-looking text). The Secret Key is never sent to the server.
2. Registration & OTP Verification
Open the front page (/) — you are greeted by the registration form.
Fill in Username, Email, and Password (min. 6 characters).
Pick an emoji avatar as your account's visual identity.
Click the register button. The system sends a 6-digit OTP to your email.
Open your email, copy the OTP, enter it on the verification page, and confirm.
⚠️ The OTP is valid for 10 minutes and can be used only once. If it expires, request a new code or register again.
3. Login
Open /login.
Enter your Username or Email and Password.
Click LOGIN. On success you are taken straight to the Chat page.
Already logged in? Opening /login redirects you to the chat page automatically (the session is kept in your browser).
Server error messages are shown in English when you use the English interface.
4. Forgot Password
On the login page, click Forgot Password?.
Enter your account email.
Check your email: a 6-digit OTP is sent.
Enter the OTP, then set a new password (min. 6 characters).
Log in with the new password.
5. Home & Conversation List
Home is the first page after login. All your conversations are gathered here.
Each row shows the person/group, a snippet of the last message, and its time.
Click a row to open that conversation.
The crossed-eye icon on the right of a row hides the conversation from home (see Hide Conversation).
Navigation: Home, Chat, Contacts, Profile, and Guide. The status bar shows your local time and the username currently logged in.
6. Contacts
In the navigation, click Contacts. The contact list window opens.
Use the search box to filter contacts by name.
Click a contact to open a conversation with them.
The chat partner's name in the chat header is also clickable and opens their profile page.
The Contacts menu also contains Groups, Friend Requests, and Group Invites.
7. Adding Contacts & Friend Requests
Open Contacts → Add Contact.
Type the username you want to add; search results appear instantly.
Click the person's name to send a friend request.
The recipient sees it under Contacts → Friend Requests and can press Accept or Reject.
Once accepted, you both appear in each other's contact list and can start chatting.
Adding a contact always requires the other person's approval — nobody can force their way into your contact list.
8. Encrypting Messages (Manual)
This is the required flow before sending any message:
Step 1
Type your message in the input field.
Step 2
Enter the Secret Key you agreed on with your chat partner. This key is never sent to the server.
Step 3
Click ENCRYPT. Your message turns into random-looking ciphertext (starting with agcv1.) in the input field.
Step 4
Click the ▶ button to send that ciphertext.
Algorithm: AES-256-GCM with a key derived via PBKDF2-HMAC-SHA256 (310,000 iterations), a 16-byte salt and a random 12-byte IV per message. Everything runs 100% in your browser. GCM mode also detects messages tampered with in transit.
The Secret Key field is not cleared automatically after sending, so you can send several messages in a row without retyping it. Clear it manually when switching partners.
9. Decrypting Messages
Incoming messages appear as random ciphertext — this is normal and intentional.
Click the DECRYPT button on the bubble you want to read.
Enter the same Secret Key as the sender (the modal is empty, so you must retype it).
The original message replaces the ciphertext.
⚠️ Wrong key = decryption fails. Make sure you and your partner use exactly the same Secret Key (case-sensitive). Agree on the key over another channel (in person, by phone), never through this chat itself.
10. Sending Images / Files
Click the 📎 (paperclip) icon next to the input field.
Choose a file. Supported types: images, video, audio, PDF, DOC/DOCX, XLS/XLSX, PPT/PPTX, TXT, CSV, and ZIP.
The file name and size show up as a preview.
Enter the Secret Key, then click ▶ to send. The file is encrypted in your browser first.
The recipient clicks DECRYPT to open it.
Maximum file size is 20 MB. Small files (≤ 3 MB) are stored in the database; larger ones (> 3 MB) are uploaded encrypted to private storage. Large uploads show a progress bar and offer a Retry button on failure.
⚠️ Files over 20 MB are rejected by the system. When that happens, a popup shows the file name and size, then suggests uploading it to cloud storage and sending the link instead. Four shortcut buttons are provided: Google Drive, MediaFire, OneDrive, and Other storage.
Links sent inside a message are clickable and open in a new tab. Only http and https links are made active, so links stay safe from misuse.
Storage quota per account. There are two separate quotas, both counted from the files you send (private chats and groups):
Database 50 MB for small files (≤ 3 MB).
Cloud storage 100 MB for large files (> 3 MB).
⚠️ When a quota is full, the upload is rejected and a Storage is full popup appears. It shows two quota bars, a list of files you have sent (with checkboxes), a Delete selected button, and four cloud-storage shortcuts so you can send a link instead.
Deleting from the quota popup is not bound by the 24-hour rule — you may clean up files of any age. You can still only delete your own files.
11. Replying to a Message
To mark which message you are replying to, in both private and group chats:
Swipe the message bubble to the right (press and drag with your finger, or hold-click and drag with the mouse) about 60 pixels until the bubble lights up.
Release. A “Replying to” bar appears above the input field, showing the sender's name and a snippet of their message.
Type your message as usual (encrypt it first if needed), then send.
Your new message now carries a quote of the original. Click that quote to jump to the original message (it briefly flashes).
The quote shows the sender's name + a snippet. If the original is still encrypted, the quote shows an “Encrypted message” marker. To cancel a reply, click the ✕ button on the “Replying to” bar.
12. Read Receipts
Every message you send carries a status marker:
🕐 clock, the message is being sent (awaiting confirmation).
✓ single check, sent but not yet read by the recipient.
✓✓ double check, read by the recipient.
⚠️ alert, the message failed to send.
13. Deleting Messages (Single & Bulk)
Delete a single message: point at a bubble you sent, then click the 🗑️ icon. The message disappears immediately.
Bulk delete:
Click the Select Messages button in the chat header. Checkboxes appear on every message of yours that can still be deleted.
Tick the messages you want to remove.
Click the Delete button. The confirmation dialog states how many messages are selected.
Click Cancel to abort and leave selection mode.
⚠️ 24-hour rule: a message can only be deleted within less than 24 hours of being sent, and only by its sender. Deleting a file also removes the stored file.
Exception: cleaning up via the Storage is full popup (see section 10) is not bound by the 24-hour limit, so you can free space at any time. You can still only delete your own files.
14. Hiding a Conversation
Want a tidy home list without deleting a chat? Just hide it.
On Home, click the crossed-eye icon on the right of a conversation row.
Confirm, and the conversation disappears from your home list.
This is per-account: only your home list is affected; the other person keeps the chat. When a new message arrives, the conversation reappears on home automatically.
15. Profile & Account Settings
Open it via Profile in the navigation, or click your chat partner's name.
View profile: large avatar, name, and @username.
Change avatar: click your large avatar → pick a new emoji → save.
Edit profile (✏️ Edit Profile button):
Changing username only → saved immediately, no OTP.
Changing email and/or password → requires a 6-digit OTP sent to your email. An extra security step so nobody else can change your account credentials.
The ← Back button returns you to the chat area.
16. Blocking Users
Open another user's profile (click their name in the chat header, or via Contacts).
Click the 🚫 Block User button on their profile page.
Once blocked: you no longer see each other in contact lists and cannot exchange messages.
You can unblock (🔓 Unblock User) from the same place.
Possible list statuses: 🚫 Blocked (you blocked them) and 🚫 Blocked you (they blocked you).
17. Important Security Notes
Zero-knowledge server: the server stores only ciphertext. Message contents, the Secret Key, and decrypted results never touch the server.
The Secret Key is your responsibility. Lose it and nobody can read the messages. Share it only with trusted people, over a channel outside this app.
Message authentication: AES-GCM mode makes tampered messages detectable (decryption fails) instead of silently accepted.
Account passwords are stored as bcrypt hashes on the server; still avoid reusing a password from other services.
Email OTP protects email/password changes and the reset flow. Never share the OTP with anyone.
Encryption strength depends on your Secret Key — use a long, hard-to-guess key.
18. Group Chat
Creating a group:
Open Contacts → New Group.
Enter a group name, tick the contacts to include, then click Create. The selected members join immediately.
Group chat: groups appear under the Groups list in the Contacts menu. Click a group to open it. Encryption works exactly like private chat: type a message → enter the Secret Key → ENCRYPT → ▶. The last group you opened is remembered, so refreshing the page returns you to the same group.
Group Info: click the group name in the chat header. It shows the group name, member count, and member list — the creator is marked (admin). Click a member to open a private chat with them (if they are not yet a contact, a warning appears).
Admin powers:
Add Member — pick contacts to invite. Invitees do not join immediately: the invite shows up in their Contacts under Group Invites, and they must press Join or Decline.
Remove member — the remove button next to non-admin members in the member list.
Disband Group — dissolves the group and removes all memberships. Admin only.
⚠️ Leaving a group asks for confirmation and cannot be undone — to rejoin, an admin must invite you again. If the admin leaves, they must pick a successor from the remaining members.
19. Language & Display
The top navigation has a flag button 🇮🇩 / 🇬🇧. Click it to switch the interface language (Indonesian ↔ English); all text updates instantly, no reload.
This Guide page has its own INDONESIA / ENGLISH toggle in the top right.
The ↑ button at the bottom right scrolls back to the top of the page.
On mobile, the chat header and input field stay pinned (they do not scroll away) so you can always type.
20. Screen Privacy (Auto Blur)
So your conversation is not exposed when you switch apps or get ready to take a screenshot, AegisChat automatically covers the chat with a blurred layer.
When the screen blurs automatically:
You switch to another app or window (the chat window loses focus).
You switch tabs or leave the browser (on mobile: open another app).
You press PrintScreen.
When it comes back: as soon as the window/tab is active again, the chat reappears by itself — no click needed. If it was covered by PrintScreen, just click anywhere or press Enter.
The blurred layer shows an eye icon, the text Content hidden, and the hint Click to show it again — all following the active language.
⚠️ Honest about the limit: no web page can block screenshots completely. Browsers deliberately do not provide that ability, and a photo of the screen taken with a phone camera cannot be prevented by any software. This auto blur covers the most common case (switching to a screenshot tool on a laptop), not full protection. For truly sensitive chats, still guard your device and do not leave the screen open.