Aller au contenu

🧬 Journal — Digital Twin

Rôle

Le Journal est un système de journal personnel à architecture Zero-Knowledge, développé par Alexis. Les données sont chiffrées dans le navigateur avant d'être envoyées au serveur — le serveur ne peut jamais lire le contenu.

Propriété Valeur
Container CT123
IP 192.168.192.123
Port 8000
URL journal.galexios.fr
Développement Alexis (projet personnel)

Architecture Zero-Knowledge

sequenceDiagram
    participant NAV as Navigateur (client)
    participant SRV as Serveur CT123

    Note over NAV: Chiffrement DANS le navigateur
    NAV->>NAV: Chiffre JSON → AES-256-GCM (×2)
    NAV->>NAV: Encapsule clés via RSA-4096 + ECDH-P384
    NAV->>SRV: POST blob chiffré (illisible)
    SRV->>SRV: Stocke fichier .enc
    Note over SRV: Le serveur ne voit jamais le contenu

    Note over NAV: Lecture HORS-LIGNE uniquement
    NAV->>NAV: Déchiffrement local avec clé privée

Algorithmes : RSA-4096 + ECDH-P384 + AES-256-GCM ×2


Paradigme Event Sourcing

Le système ne modifie jamais les données — il empile des événements (Append-Only Log) :

Type Description
S0 (Genesis) Création d'une entité : croyance, projet, prédiction
Δ (Delta) Modification d'état : suivi, évolution

L'état final se recalcule à la lecture en rejouant chronologiquement les événements.


Formulaires principaux

Formulaire Usage
Daily State Métriques quotidiennes : sommeil, énergie, humeur, focus
Raisonnement Formalisation d'une décision avant de trancher (anti-biais)
Prédiction Probabilité sur un événement futur, évaluée a posteriori
Connaissance Modélisation d'un concept technique ou abstrait

Clé privée — Air Gap

La clé privée ne doit JAMAIS rester sur le serveur

La clé privée RSA est stockée sur un support physique hors-ligne (clé USB, Vaultwarden local).

Sans cette clé, les données chiffrées sont mathématiquement irrécupérables.

Emplacement de la clé publique (seule chose sur le serveur) :

/opt/digital-twin/keys/public.pem


Lecture des données (offline)

# Rapatrier les données chiffrées
scp -r root@192.168.192.123:/opt/digital-twin/data ~/dt_backup/

# Déchiffrer avec la clé privée (sur machine de confiance hors-ligne)
python3 scripts/decrypt.py --key ~/private.pem --dir ~/dt_backup/ --all --output ~/dt_clair/

# Mode interactif
python3 scripts/decrypt.py --key ~/private.pem --interactive

Accès strictement personnel

Le Journal est accessible depuis l'interface web mais il n'est utilisé que par Alexis. La famille ne doit pas créer de compte ni saisir de données — cela corromprait la cohérence du journal personnel.