Aller au contenu

Architecture ProbatioVault — Vue d'ensemble

Vision

ProbatioVault est un coffre-fort numérique probatoire permettant de certifier l'intégrité et l'antériorité de documents numériques.

Principes architecturaux

Zero-Knowledge

Le serveur ne voit jamais les données en clair : - Chiffrement côté client avant transmission - Clés de chiffrement jamais transmises au serveur - Métadonnées minimales côté serveur

Defense in Depth

Sécurité en couches : - Chiffrement client (AES-256-GCM) - Chiffrement transport (TLS 1.3) - Chiffrement stockage (S3 SSE) - HSM pour clés de signature

Immutabilité probatoire

Documents certifiés immuables : - Hash SHA3-256 unique par document - Stockage WORM (Object Lock) - Horodatage qualifié (TSA)

Composants principaux

┌─────────────────────────────────────────────────────────────────┐
│                         CLIENTS                                  │
│  ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐           │
│  │   iOS   │  │ Android │  │   Web   │  │ Desktop │           │
│  └────┬────┘  └────┬────┘  └────┬────┘  └────┬────┘           │
│       │            │            │            │                  │
│       └────────────┴────────────┴────────────┘                  │
│                         │                                        │
│              ┌──────────┴──────────┐                            │
│              │    API Gateway      │                            │
│              └──────────┬──────────┘                            │
└─────────────────────────┼───────────────────────────────────────┘
┌─────────────────────────┼───────────────────────────────────────┐
│                    BACKEND                                       │
│              ┌──────────┴──────────┐                            │
│              │   NestJS Backend    │                            │
│              └──────────┬──────────┘                            │
│                         │                                        │
│     ┌───────────────────┼───────────────────┐                   │
│     │                   │                   │                   │
│  ┌──┴──┐          ┌─────┴─────┐       ┌─────┴─────┐            │
│  │ DB  │          │  Storage  │       │    HSM    │            │
│  │ PG  │          │    S3     │       │ CloudHSM  │            │
│  └─────┘          └───────────┘       └───────────┘            │
└─────────────────────────────────────────────────────────────────┘

Stack technique

Frontend (App)

Composant Technologie
Framework Expo / React Native
Language TypeScript (strict)
State Zustand
Crypto argon2-browser, js-sha3
Storage Secure Store

Backend

Composant Technologie
Framework NestJS
Language TypeScript
ORM TypeORM
Database PostgreSQL
HSM AWS CloudHSM (PKCS#11)

Infrastructure

Composant Technologie
Cloud AWS + OVH
IaC Terraform
Storage S3 (Object Lock)
HSM AWS CloudHSM
DNS AWS Route53
CDN CloudFront

Environnements

Environnement Usage
dev Développement local
staging Tests d'intégration
production Production

Liens