Détails techniquesTechnical details

Où sont les données, comment elles sont protégées, et ce qui change pour un dossier partagé.Where the data is, how it is protected, and what changes for a shared case.

Stockage et chiffrementStorage and encryption

EmplacementLocation
Stockage du navigateur (IndexedDB), sur l'appareil. Chaque navigateur, et chaque adresse de l'application, a son propre coffre.Browser storage (IndexedDB), on the device. Each browser, and each address of the app, has its own vault.
ChiffrementEncryption
AES-256-GCM, avec un vecteur d'initialisation aléatoire pour chaque enregistrement : dossiers, sauvegardes, fichiers de preuve.AES-256-GCM, with a random initialisation vector for each record: cases, backups, evidence files.
CléKey
Dérivée de la phrase secrète par PBKDF2-SHA-256 (600 000 itérations, sel aléatoire). Non exportable, conservée en mémoire pendant la session uniquement.Derived from the passphrase with PBKDF2-SHA-256 (600,000 iterations, random salt). Non-extractable, kept in memory for the session only.
Non chiffréNot encrypted
Identifiants internes des enregistrements, dates des sauvegardes, réglages.Internal record ids, backup dates, settings.
VerrouillageLocking
Au rechargement ou à la fermeture de la page, manuellement, ou après une période d'inactivité (15 minutes par défaut).On reload or closing the page, manually, or after a period of inactivity (15 minutes by default).
Phrase secrète perdueLost passphrase
Aucune récupération possible. Les dossiers exportés restent lisibles avec leur propre phrase secrète.No recovery is possible. Exported cases remain readable with their own passphrase.

Sauvegardes et intégritéBackups and integrity

Points de restaurationRestore points
À l'ouverture d'un dossier, puis toutes les 10 minutes de modification. Les 30 derniers sont conservés par dossier.When a case is opened, then every 10 minutes of editing. The last 30 are kept per case.
PreuvesEvidence
Empreinte SHA-256 calculée à l'ajout de chaque fichier, vérifiable à tout moment.SHA-256 fingerprint computed when each file is added, verifiable at any time.
Export de dossierCase export
Fichier chiffré avec sa propre phrase secrète (mêmes paramètres), importable sur un autre appareil.File encrypted with its own passphrase (same settings), importable on another device.
Autres exportsOther exports
Rapports, images, tableaux et copies interactives : non chiffrés, sauf copie interactive verrouillée par phrase secrète.Reports, pictures, tables and interactive copies: not encrypted, except an interactive copy locked with a passphrase.

Connexions sortantesOutgoing connections

Une politique de sécurité (CSP) limite l'application aux services suivants. Aucun traceur, aucune mesure d'audience.A security policy (CSP) restricts the app to the services below. No trackers, no analytics.

ServiceServiceQuandWhenCe qu'il reçoitWhat it receives
Fond de carte (OpenStreetMap, OSM France ou Esri)Map background (OpenStreetMap, OSM France or Esri) Affichage de la carte. Désactivable dans Style.Showing the map. Can be switched off in Style. Adresse IP, zones consultéesIP address, areas viewed
Recherche d'adresse (Nominatim, OpenStreetMap)Address search (Nominatim, OpenStreetMap) Recherche d'un lieuSearching for a place Adresse IP, texte recherchéIP address, search text
Site de l'applicationApp website Mises à jour. Version téléchargée : seulement si la vérification est activée.Updates. Downloaded version: only if checking is turned on. Adresse IPIP address
Serveur de collaborationCollaboration server Dossiers partagés uniquementShared cases only Contenu du dossier partagé, adresse e-mailShared case content, email address

Dossiers partagésShared cases

Le partage est optionnel et se décide dossier par dossier. Les dossiers non partagés ne sont pas concernés par ce qui suit.Sharing is optional and decided case by case. Cases that are not shared are not affected by the following.

Contenu synchroniséSynced content
Entités, liens, groupes, formes, preuves et leurs fichiers, cotations des sources, style, nom du dossier.Entities, links, groups, shapes, evidence and its files, source grades, style, case name.
SynchronisationSyncing
En direct, par connexion chiffrée (TLS). Fusion automatique des modifications (CRDT, Yjs). Les modifications faites hors ligne sont envoyées à la reconnexion ; si un même élément a changé des deux côtés, la version de la personne qui se reconnecte est retenue.Live, over an encrypted connection (TLS). Changes merge automatically (CRDT, Yjs). Changes made offline are sent on reconnection; if the same item changed on both sides, the version of the person reconnecting is kept.
HébergementHosting
Cloudflare (Workers et Durable Objects ; fichiers de preuve sur R2).Cloudflare (Workers and Durable Objects; evidence files on R2).
ChiffrementEncryption
En transit uniquement. Pas de chiffrement de bout en bout : le contenu est lisible par le serveur et par l'hébergeur.In transit only. No end-to-end encryption: the content is readable by the server and the host.
Données conservéesData kept
Contenu du dossier, fichiers de preuve, adresses e-mail et rôles des membres. Un fichier n'est conservé que tant qu'une preuve l'utilise.Case content, evidence files, members' email addresses and roles. A file is kept only while some evidence item uses it.
Copie localeLocal copy
Chaque membre conserve une copie chiffrée dans son propre coffre.Each member keeps an encrypted copy in their own vault.
TarifPricing
Gratuit pendant la phase de test. Une offre payante est prévue pour les dossiers partagés ; l'usage local reste gratuit.Free during the test phase. A paid plan is planned for shared cases; local use stays free.

Connexion et rôlesSign-in and roles

ConnexionSign-in
Sans mot de passe : lien envoyé par e-mail (service Resend), valable 15 minutes. Une invitation est valable 7 jours.Passwordless: a link sent by email (Resend service), valid for 15 minutes. An invitation is valid for 7 days.
SessionSession
30 jours, conservée chiffrée dans le coffre de l'utilisateur.30 days, stored encrypted in the user's vault.
RôlesRoles
Propriétaire (la personne qui partage), éditeur, lecture seule. La lecture seule est appliquée par le serveur.Owner (the person who shares), editor, read-only. Read-only is enforced by the server.
Gestion de l'équipeTeam management
Le propriétaire invite, change les rôles et retire des membres. Un retrait prend effet immédiatement ; ce que le membre a déjà reçu reste sur son appareil.The owner invites, changes roles and removes members. A removal takes effect immediately; what the member has already received stays on their device.
PrésencePresence
Les membres voient qui est connecté au dossier.Members see who is connected to the case.

Code et licencesCode and licences

ApplicationApp
Open source, GNU AGPL v3 : code source.Open source, GNU AGPL v3: source code.
Serveur de collaborationCollaboration server
Propriétaire, non publié.Proprietary, not published.
BibliothèquesLibraries
Cytoscape.js, Leaflet, Yjs, y-partyserver (licences libres, incluses dans l'application)(open-source licences, bundled with the app)
ExécutionRuntime
Navigateur récent (Chrome, Edge, Firefox). Version téléchargeable : petit serveur local intégré à Windows, accessible depuis cet ordinateur seulement.A recent browser (Chrome, Edge, Firefox). Downloaded version: a small local server built into Windows, reachable from this computer only.