Manifeste technique souverain
Intentions: Ce document formalise une architecture sobre, auditable et souveraine pour la manipulation de données locales,
avec pivot SVG
filtré et JavaScript
local, cloisonnement strict Public Core / Private Core, et contraintes
MMU/DataType pour la sécurité par conception.
Principes directeurs
- Souveraineté: Aucun composant critique ne dépend d’un middleware opaque ou d’un service distant pour fonctionner.
- Cloisonnement: Séparation nette des zones Distant (public) et Local (privé), avec Public Core et Private Core distincts.
- Pivot simple: Les flux entrants sont convertis en SVG frames filtrées, manipulées uniquement par JavaScript local auditable.
- RAM privée: Toutes les manipulations sensibles passent par une Private RAM contrôlée, jamais exposée au public.
- MMU/Datatype: Les transformations sont soumises à des contraintes de types et de mémoire (règles MMU), réduisant la surface d’attaque.
- Temporaire maîtrisé: Les fichiers temporaires sont isolés, éphémères, et nettoyés après usage.
- Auditabilité: Code minimal, lisible, documenté, et idéalement signé (hash et signature détachée).
Architecture distant et local
Distant (zone publique)
- Sources: Web renderer → SVG, App’s Store, Download Requests, Internet Security.
- Frameworks sensibles: Parties O.S. Sensibles (style .NET) utilisés uniquement en lecture et conversion.
- ROM/Stack: Noyau, File System, O.S., TCP/IP — pas de logique critique ici.
- Filtrage: SVG frames reçues ou filtrées, jamais exécutées directement; conversion assurée par pipeline minimal.
Local (zone privée)
- Private RAM: Mémoire dédiée aux opérations sensibles; aucune exposition aux flux publics.
- Private Core: Manipulation des fichiers avec Private RAM; accès aux Clean App’s Binaries uniquement.
- Public Core (local): Interface tampon avec règles strictes; autorisé pour stockage temporaire uniquement.
- MMU/DataType: Critical Data Modifier avec contraintes de type et ressources; refuse formats ambigus.
- Temp files: Temporary Files Storage isolé pour manipulations éphémères.
- Clean to go: Documents purgés et validés sortent du pipeline avec traçabilité.
Schéma de flux — représentation ASCII auditable
[DISTANT / PUBLIC] Web → Renderer → SVG Frames (filtrées) App's Store / Downloads / Internet Security └─(conversion pivot SVG)─► [PUBLIC CORE local] ─► (tampon strict) [LOCAL / PRIVÉ] [PRIVATE RAM] ⇄ [PRIVATE CORE] ⇄ [MMU/DataType Modifier] │ ├─► Temporary Files Storage (isolé, éphémère) └─► Clean App's Binaries (lecture seule) Sortie Clean to Go… Documents (signés, traçables)
Modèle de sécurité par conception
- Surface minimale: Formats d’entrée réduits au pivot SVG; pas de parsing arbitraire non maîtrisé.
- Exécution locale: JavaScript local statique, auditable et signé; aucune dépendance réseau pendant les manipulations.
- Permissions: Private Core opère avec le minimum d’autorisations; Public Core ne manipule pas les données critiques.
- Temporaire: Nettoyage systématique; pas de fuite d’état entre sessions.
- Traçabilité: Hash des artefacts, journaux locaux sobres, versionnement immuable.
Règles MMU/DataType (extrait)
- Types sûrs: Accepter uniquement: SVG, TXT, JSON strict (RFC-8785), PNG sans exif.
- Quotas RAM: Budgets mémoire par opération; refus si dépassement ou ambiguïté d’encodage.
- Transitions: Toute promotion de données du Public Core vers le Private Core exige filtre + hash + validation de schéma.
Processus de manipulation et de sortie
- Réception: Entrées publiques converties en SVG frames filtrées (aucun script, aucun lien externe).
- Tampon public: Public Core stocke temporairement; pas d’accès aux secrets.
- Promotion privée: Validation → hash → typage → passage en Private RAM pour traitement.
- Transformation: Private Core + MMU/DataType appliquent les règles; journaux locaux sobres.
- Nettoyage: Destruction des temporaires après succès; sinon quarantaine.
- Sortie signée: Clean to Go… Documents accompagnés de hash et signature détachée.
Licence et conditions de transmission
Licence: Ce manifeste est publié sous CC BY-SA 4.0 ou MIT (au choix du déposant), à condition de préserver la mention d’auteur et l’intégrité du modèle.
Transmission: Libre réutilisation pédagogique et industrielle, sans ajout de dépendances opaques dans la partie privée.
Intégrité, hash et signature détachée
But: Vérifier l’intégrité du manifeste localement et associer une signature auditable.
Empreinte SHA-256 (calcul local)
Calcul en cours…
Source du calcul (JavaScript local)
// Empreinte SHA-256 sur le bloc <main> (texte normalisé)
(async function computeHash() {
const main = document.querySelector('main');
if (!main) return;
const encoder = new TextEncoder();
// Normalisation: innerText (sans balises), trim des espaces multiples
const normalized = main.innerText.replace(/\s+/g, ' ').trim();
const data = encoder.encode(normalized);
const digest = await crypto.subtle.digest('SHA-256', data);
const bytes = Array.from(new Uint8Array(digest));
const hex = bytes.map(b => b.toString(16).padStart(2, '0')).join('');
document.getElementById('doc-hash').textContent = hex;
document.getElementById('hash-status').textContent = 'Empreinte SHA-256 (normalized innerText):';
})();
Signature détachée (placeholder)
Format: RFC-8785 canonical JSON + SHA-256 + Ed25519 (recommandé).
{ "doc-id": "coeurs.net/0620172485", "version": "1.0.0", "created": "2025-09-28", "hash-alg": "SHA-256", "hash": "", "sig-alg": "Ed25519", "signature": "", "signer": "Franck Dutouron", "comment": "Manifeste technique souverain — Public/Core privé, MMU/DataType, pivot SVG/JS" }
Vérification: La signature est détachée et peut être vérifiée avec un outil local minimal (ex. script PowerShell ou OpenSSL/libsodium).
Annexes techniques
Politique d’entrée — SVG frames
- Autorisé: <svg> statique, <path>, <rect>, <text>, styles inline simples.
- Interdit: <script> dans SVG, foreignObject, liens externes, data: URI non validés.
- Conversion: Toute ressource distante est convertie en SVG local avant affichage; aucune exécution distante.
Politique des temporaires
- Isolation: Répertoire dédié, non synchronisé, purgé après opération.
- Traçabilité: Horodatage local minimal, empreinte, et motif d’usage.
- Quarantaine: En cas d’échec de validation, déplacer en zone de quarantaine hors du pipeline privé.