Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions README.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,26 @@ vérifier.**

---

## Nouveautés de la 3.4.0

- **Des notes à durée de vie** : ⋮ › Durée de vie… — une note s'efface pour de bon après 1 heure,
24 heures, 7 ou 30 jours, ou quand on la referme après l'avoir rouverte. Sa carte montre ce qu'il lui
reste. L'effacement a lieu à la prochaine ouverture de l'appli ou sur la liste, pas à la seconde près,
et une telle note n'entre ni dans la sauvegarde ni dans l'export.
- **Partager une note scellée** : ⋮ › Partager scellée… — la note est chiffrée (Argon2id, AES-256-GCM)
dans un fichier `.ntnote` que seul un code de 24 signes ouvre, affiché une fois et gardé nulle part.
Envoyez le fichier par n'importe quelle appli et le code par un autre moyen ; elle peut être « à
lecture unique » chez son destinataire. Une note scellée reçue s'ouvre par « Ouvrir avec » ou ⋮ ›
Ouvrir une note scellée, et arrive dans la Boîte de réception une fois son code tapé — jamais dans un
coffre.
- **Dépôt rapide** : écrire une note sans déverrouiller Notes Tech, depuis une tuile des réglages rapides
ou un appui long sur l'icône. Il ne fait qu'écrire, dans la Boîte de réception : rien de ce que l'appli
contient ne s'y lit.
- **Raccourcis sur l'icône** : Nouvelle note, Dicter, Dépôt rapide.
- **Clavier sans apprentissage** (Réglages › Sécurité, activé par défaut) : chaque champ demande au
clavier de ne rien apprendre ; les champs de secret le demandent toujours.
- Sous le capot : AGP 9.5.0, Gradle 9.8.2, SQLCipher 4.20.0 ; DataStore, jamais utilisé, retiré.

## Nouveautés de la 3.3.0

Suggérées dans [#48](https://github.com/gitubpatrice/notes_tech/issues/48).
Expand Down
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,23 @@ technically unable to send anything, and you can check that in its manifest.**

---

## What's new in 3.4.0

- **Notes with a lifetime**: ⋮ › Lifetime… — a note is erased for good after 1 hour, 24 hours, 7 or 30
days, or when it is closed after its next reading. Its card shows what is left. The erasing happens at
the next opening of the app or on the list, not to the second, and such a note goes into neither the
backup nor the export.
- **Share a note sealed**: ⋮ › Share sealed… — the note is encrypted (Argon2id, AES-256-GCM) into a
`.ntnote` file that only a 24-sign code opens, shown once and kept nowhere. Send the file by any app and
the code another way; it can be "read once" by its recipient. A sealed note received opens with "Open
with" or ⋮ › Open a sealed note, and lands in the Inbox once its code is typed — never in a vault.
- **Quick drop**: write a note without unlocking Notes Tech, from a quick settings tile or a long press
on the app's icon. It only writes, to the Inbox: nothing the app holds can be read there.
- **Shortcuts on the icon**: New note, Dictate, Quick drop.
- **Keyboard without learning** (Settings › Security, on by default): every field asks the keyboard not
to learn what is typed; secret fields always do.
- Under the hood: AGP 9.5.0, Gradle 9.8.2, SQLCipher 4.20.0; DataStore, never used, removed.

## What's new in 3.3.0

Suggested in [#48](https://github.com/gitubpatrice/notes_tech/issues/48).
Expand Down
10 changes: 9 additions & 1 deletion REPRISE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,15 @@
> Écrit le 2026-08-15 au soir, mis à jour le 2026-08-19, le 2026-09-24, le 2026-09-25, le 2026-10-05, puis le 2026-10-10, puis le 2026-10-30 (deux fois), le 2026-10-31, **puis le 2026-11-09**. À lire en premier, avant `docs/00-PLAN.md`.
> Ce fichier ne remplace pas les docs : il dit **où on en est** et **quoi faire ensuite**.

## 🧭 À LA REPRISE (écrit le 2026-11-09) — la 3.3.0 est PUBLIÉE
## 🧭 À LA REPRISE (écrit le 2026-11-09 au soir) — la 3.4.0 est EN COURS (branche `feat/3.4.0`)

Patrice : « fais 2, 3, 4 ce serait génial pour la 3.4.0 + raccourcis et clavier sans apprentissage »,
« en intégrant les upgrade AGP aussi » (déjà dans `main`, PR #51). **Spécification, décisions D-040 à
D-044 et état coché au fur et à mesure : `docs/15-VERSION-3.4.md`** — la lire en premier.
La release n'est PAS demandée : la proposer à la fin, comme pour la 3.3.0. Avant le tag, regarder
comment F-Droid a construit SMS 1.30.0 (première build sous AGP 9.5).

## Précédemment (écrit le 2026-11-09) — la 3.3.0 est PUBLIÉE

Issue #48 (koad1x) : trois suggestions. Patrice : « fais les 3 maintenant pour la version 3.3.0,
proprement, avec vigilance », carte blanche (coder, tester, commiter, fusionner), « tous les audits
Expand Down
28 changes: 27 additions & 1 deletion SECURITY.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,36 @@

*English version: [SECURITY.md](SECURITY.md)*

**Version actuelle : v3.3.0 — novembre 2026.** Notes Tech 3.0 est une réécriture en Kotlin. Le journal
**Version actuelle : v3.4.0 — novembre 2026.** Notes Tech 3.0 est une réécriture en Kotlin. Le journal
de sécurité des versions Flutter 1.x et 2.x est conservé tel quel, dans
[`SECURITY.fr.md` au tag v2.0.9](https://github.com/gitubpatrice/notes_tech/blob/v2.0.9/SECURITY.fr.md).

## v3.4.0 — de nouvelles portes, tenues étroites (2026-11-09)

- **Le dépôt rapide écrit sans le verrou de l'appli.** Le verrou est une barrière de lecture — la base
s'ouvre sans secret de l'utilisateur, comme depuis la 3.0.0. L'activité du dépôt n'est pas exportée
(la tuile et le raccourci la démarrent au nom de l'appli), ne lit rien, écrit une note dans la Boîte de
réception — jamais un coffre —, tient une fenêtre protégée, coupe elle-même les actions de texte des
autres applis et le classifieur (elle peut être la première activité de son processus), garde son texte
hors de l'état sauvegardé, et n'écrit rien pendant une panique en cours. La tuile demande d'abord le
déverrouillage du téléphone.
- **Les raccourcis de l'icône** arrivent sur une activité non exportée qui dépose la demande en mémoire ;
`MainActivity` continue d'ignorer ce que porte un intent ; la demande ne s'exécute qu'appli déverrouillée.
- **Les notes scellées** reprennent le conteneur de la sauvegarde (Argon2id m=64 Mio t=3, AES-256-GCM,
l'en-tête en AAD) sous leur propre magie. Seul un code généré de 24 signes (120 bits) en ouvre une ; il
est affiché une fois, gardé nulle part, copié seulement par le presse-papiers sensible ; le nom du
fichier ne dit rien de la note. À la réception : une activité `VIEW` exportée ne lit qu'un `content://`
d'une autre appli, borné en taille (4 Mio) et en temps, la magie vérifiée d'abord ; rien n'est
déchiffré avant le déverrouillage ; le code tapé n'atteint jamais un Bundle ; un code faux et un fichier
abîmé se ressemblent ; une note reçue va dans la Boîte de réception, jamais un coffre.
- **Les notes à durée de vie** sont effacées par le DELETE même de « Supprimer définitivement » (index
plein texte, `secure-delete`, liens) ; elles sont exclues de la sauvegarde et de l'export. Une durée de
vie suit l'horloge du téléphone : avancer la date efface les notes dont elle dépasse le terme. « Après
lecture » efface à la fermeture de l'éditeur — retour, ou appli fermée —, jamais sur une rotation ; si
Android arrête l'appli avant, la note part à sa fermeture suivante.
- **Clavier** : `IME_FLAG_NO_PERSONALIZED_LEARNING` sur chaque champ par défaut, toujours sur les champs
de secret.

## v3.3.0 — archives et sélection : les règles des coffres, pour plusieurs notes à la fois (2026-11-09)

La sélection agit sur plusieurs notes à la fois — archiver, déplacer, mettre à la corbeille, épingler,
Expand Down
26 changes: 25 additions & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,34 @@

*Version française : [SECURITY.fr.md](SECURITY.fr.md)*

**Current version: v3.3.0 — November 2026.** Notes Tech 3.0 is a rewrite in Kotlin. The security log
**Current version: v3.4.0 — November 2026.** Notes Tech 3.0 is a rewrite in Kotlin. The security log
of the Flutter versions 1.x and 2.x is kept as it was, in
[`SECURITY.md` at tag v2.0.9](https://github.com/gitubpatrice/notes_tech/blob/v2.0.9/SECURITY.md).

## v3.4.0 — new doors, kept narrow (2026-11-09)

- **Quick drop writes without the app lock.** The lock is a gate on reading — the database opens with no
user secret, as since 3.0.0. The drop's activity is not exported (the tile and the shortcut start it as
this app), reads nothing, writes one note to the Inbox — never a vault —, holds a protected window, cuts
the other apps' text actions and the classifier itself (it can be the first activity of its process),
keeps its text out of the saved state, and writes nothing while a panic is pending. The tile asks the
phone to be unlocked first.
- **Launcher shortcuts** land on a non-exported activity that deposits the request in memory;
`MainActivity` keeps ignoring what an intent carries; the request runs only once the app is unlocked.
- **Sealed notes** use the backup's container (Argon2id m=64 MiB t=3, AES-256-GCM, the header as AAD)
under their own magic. Only a generated code of 24 signs (120 bits) opens one; it is shown once, kept
nowhere, copied only through the sensitive clipboard; the file's name says nothing of the note.
Receiving: an exported `VIEW` activity reads only a `content://` of another app, bounded in size
(4 MiB) and in time, the magic checked first; nothing is decrypted before the app is unlocked; the
typed code never reaches a Bundle; a wrong code and a damaged file look the same; a received note goes
to the Inbox, never a vault.
- **Notes with a lifetime** are erased by the very DELETE of "Delete permanently" (FTS index,
`secure-delete`, links); they are left out of the backup and the export. A lifetime follows the phone's
clock: moving the date forward erases the notes whose time it passes. "After reading" erases when the
editor closes — going back, or the app closed —, never on a rotation; if Android ends the app first, the
note goes at its next closing.
- **Keyboard**: `IME_FLAG_NO_PERSONALIZED_LEARNING` on every field by default, always on secret fields.

## v3.3.0 — archive and selection: the vault rules, for many notes at once (2026-11-09)

The selection acts on many notes at once — archive, move, trash, pin, favourite, colour, permanent
Expand Down
Loading
Loading