Skip to content
This repository was archived by the owner on Apr 4, 2026. It is now read-only.

Commit 5b9828a

Browse files
committed
docs: roadmap V3.4 — camouflage, dual PIN, panic button, FLAG_SECURE, voice messages E2E, sealed sender, reply/quote
1 parent a84edce commit 5b9828a

4 files changed

Lines changed: 56 additions & 6 deletions

File tree

README-en.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ cd SecureChat
276276
| **V3.1** | Settings Redesign — Signal-like settings, 6-digit PIN, Privacy sub-screen, PIN coroutines | ✅ Done |
277277
| **V3.2** | Ed25519 Signing — Per-message signatures, ✅/⚠️ badge, Firebase rules hardening, signing key cleanup | ✅ Done |
278278
| **V3.3** | Material 3 + Tor + Attachment UX — M3 migration, full Tor integration, Session-style inline icons, Android 13+ permissions, log hardening | ✅ Done |
279-
| **V3.4** | Planned — Groups, delete for all, typing indicators, private relay | 🔜 |
279+
| **V3.4** | Planned — App disguise + cover screen, Dual PIN, panic button, FLAG_SECURE, E2E voice messages, sealed sender, reply/quote | 🔜 |
280280

281281
> 📖 **Details**[Full Changelog](docs/en/CHANGELOG.md)
282282

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ cd SecureChat
276276
| **V3.1** | Settings Redesign — Paramètres Signal-like, PIN 6 chiffres, sous-écran Confidentialité, coroutines PIN | ✅ Done |
277277
| **V3.2** | Ed25519 Signing — Signature par message, badge ✅/⚠️, durcissement Firebase rules, nettoyage clés | ✅ Done |
278278
| **V3.3** | Material 3 + Tor + Attachment UX — Migration M3, intégration Tor complète, icônes inline Session, permissions Android 13+, durcissement logs | ✅ Done |
279-
| **V3.4** | Planned — Groupes, suppression pour tous, typing indicators, relay privé | 🔜 |
279+
| **V3.4** | Planned — Camouflage app + faux écran, Dual PIN, panic button, FLAG_SECURE, messages vocaux E2E, sealed sender, reply/quote | 🔜 |
280280

281281
> 📖 **Détails**[Changelog complet](docs/fr/CHANGELOG.md)
282282

docs/en/CHANGELOG.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,9 +219,34 @@
219219

220220
## 🔜 V3.4 — Planned
221221

222-
- [ ] **Groups** — 3+ participant conversations
222+
> Advanced camouflage, plausible deniability, E2E voice messages, sealed sender, messaging improvements.
223+
224+
### 🎭 App Disguise (Icon & Name Camouflage)
225+
- [ ] **Icon change** — User picks a camouflage icon from presets: Calculator, Notes, News, Weather, Clock, etc.
226+
- [ ] **Display name change** — App name in launcher changes to match the chosen icon (“Calculator”, “Notes”, “News”, etc.)
227+
- [ ] **Icon themes** — Each disguise has a matching icon + name (professional style)
228+
- [ ] **Activity-alias** — Implementation via `<activity-alias>` in manifest (dynamic enable/disable via `PackageManager`)
229+
- [ ] **Confirmation + restart** — Confirmation dialog with preview → “Restart now” → kill + relaunch
230+
- [ ] **Functional cover screen** — Disguised app opens a real functional fake app (calculator, notes, etc.). The real chat is accessible via a secret gesture (hidden long press or special code)
231+
- [ ] **Persistence** — Choice saved in SharedPreferences, restored on startup
232+
233+
### 🔐 Plausible Deniability & Protection
234+
- [ ] **Dual PIN** — Normal PIN opens chat; duress PIN opens an empty profile or triggers a silent wipe (plausible deniability, journalist/activist level)
235+
- [ ] **Panic button** — Shake phone → instant deletion of all conversations + keys + sign-out (full wipe)
236+
- [ ] **Screenshot protection**`FLAG_SECURE` on all windows — blocks screenshots, screen recording, and recent apps preview
237+
- [ ] **Keyboard incognito**`flagNoPersonalizedLearning` on all input fields — keyboard does not learn or log anything
238+
239+
### 🔐 Advanced Crypto
240+
- [ ] **Sealed sender** — Sender identity hidden on Firebase side — recipient deduces sender only after decryption
241+
242+
### 💬 Advanced Messaging
243+
- [ ] **E2E voice messages** — Audio recording, AES-256-GCM encryption, sent via ratchet, inline player in chat
244+
- [ ] **Reply / Quote** — Reply to a specific message with quoted citation (quoted bubble + new message)
245+
- [ ] **Groups** — 3+ participant conversations (Sender Keys)
223246
- [ ] **Delete for everyone** — Delete a message on local + Firebase
224-
- [ ] **Typing indicators** — "Typing..."
247+
- [ ] **Typing indicators** — “Typing...” (E2E encrypted, opt-in)
248+
249+
### 🛡️ Infrastructure
225250
- [ ] **Private relay** — Dedicated relay server to reduce Firebase dependency
226251

227252
---

docs/fr/CHANGELOG.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,9 +219,34 @@
219219

220220
## 🔜 V3.4 — Planned
221221

222-
- [ ] **Groupes** — Conversations à 3+ participants
222+
> Camouflage avancé, plausible deniability, messages vocaux E2E, sealed sender, améliorations messagerie.
223+
224+
### 🎭 Camouflage de l’app (App Disguise)
225+
- [ ] **Changement d’icône** — L’utilisateur choisit une icône de camouflage parmi des présets : Calculatrice, Notes, Actualités, Météo, Horloge, etc.
226+
- [ ] **Changement du nom affiché** — Le nom de l’app dans le launcher change pour correspondre à l’icône choisie (« Calculatrice », « Notes », « Actualités », etc.)
227+
- [ ] **Thèmes d’icône** — Chaque déguisement a son icône + nom cohérent (style professionnel)
228+
- [ ] **Activity-alias** — Implémentation via `<activity-alias>` dans le manifest (enable/disable dynamique via `PackageManager`)
229+
- [ ] **Confirmation + redémarrage** — Dialog de confirmation avec prévisualisation → « Redémarrer maintenant » → kill + relaunch
230+
- [ ] **Faux écran de couverture** — L’app déguisée ouvre une vraie fausse app fonctionnelle (calculatrice, notes, etc.). Le vrai chat est accessible via un geste secret (long press caché ou code spécial)
231+
- [ ] **Persistance** — Choix sauvegardé dans SharedPreferences, restauré au démarrage
232+
233+
### 🔐 Plausible Deniability & Protection
234+
- [ ] **Dual PIN** — PIN normal ouvre le chat ; PIN de contrainte ouvre un profil vide ou déclenche un wipe silencieux (plausible deniability, niveau journaliste/activiste)
235+
- [ ] **Panic button** — Secouer le téléphone (shake) → suppression instantanée de toutes les conversations + clés + déconnexion (wipe complet)
236+
- [ ] **Screenshot protection**`FLAG_SECURE` sur toutes les fenêtres — empêche screenshots, screen recording et aperçu dans les apps récentes
237+
- [ ] **Keyboard incognito**`flagNoPersonalizedLearning` sur tous les champs de saisie — le clavier ne mémorise/apprend rien
238+
239+
### 🔐 Crypto avancée
240+
- [ ] **Sealed sender** — L’identité de l’expéditeur est cachée côté Firebase — le destinataire déduit le sender uniquement après déchiffrement
241+
242+
### 💬 Messagerie avancée
243+
- [ ] **Messages vocaux E2E** — Enregistrement audio, chiffrement AES-256-GCM, envoi via le ratchet, lecteur inline dans le chat
244+
- [ ] **Reply / Quote** — Répondre à un message spécifique avec citation (bulle citée + nouveau message)
245+
- [ ] **Groupes** — Conversations à 3+ participants (Sender Keys)
223246
- [ ] **Suppression pour tous** — Supprimer un message côté local + Firebase
224-
- [ ] **Typing indicators** — "En train d'écrire..."
247+
- [ ] **Typing indicators** — « En train d’écrire... » (chiffré E2E, opt-in)
248+
249+
### 🛡️ Infrastructure
225250
- [ ] **Relay privé** — Serveur relay dédié pour réduire la dépendance Firebase
226251

227252
---

0 commit comments

Comments
 (0)