Guide d'installation · N0

Installer CLOISON N0 en ≤ 10 minutes.

Un daemon local compatible OpenAI sur localhost:8787. Votre interface IA s'y branche avec deux champs. Le clair ne quitte jamais votre poste — coffre chiffré persistant, authentification 100 % locale.

Prérequis

Aucun : pas de toolchain Rust, pas de Python, pas de torch. Les binaires par OS sont téléchargés, puis vérifiés par checksums SHA-256 — échec bruyant si l'intégrité n'est pas prouvée.

01Prérequis

Trois systèmes, une même installation.

Le daemon tourne sur votre poste. Voici ce qu'il faut — et surtout ce qu'il ne faut pas.

Systèmes

Linux, macOS, Windows

Linux x64/arm64, macOS et Windows x64. Le script détecte l'OS et l'architecture, puis installe le binaire correspondant.

Aucune toolchain

Pas de Rust, ni Python, ni torch

Rien à compiler chez vous. Le NER léger (modèle int8 + tokenizer.json + label_map.json) est embarqué et chargé dynamiquement.

Prêt au lancement

Vérifié au passage

Le script télécharge binaire, NER et lib onnxruntime, contrôle les checksums, crée ~/.cloison et affiche la clé locataire une seule fois.

Limite honnête

macOS Intel : Microsoft ne publie plus de lib onnxruntime osx-x86_64. Le binaire macos-x64 fonctionne alors en N0 v1 (gazetteers + alias, warn). Apple Silicon est la cible macOS recommandée — elle seule profite du NER complet.

02Téléchargement vérifié

Un binaire signé, une empreinte contrôlée.

Chaque vérification échoue bruyamment : si l'empreinte SHA-256 ne correspond pas, l'installation s'arrête net.

Linux / macOS

Une seule commande. Le script détecte l'OS et l'architecture, télécharge binaire + NER léger + lib onnxruntime, vérifie les checksums et crée ~/.cloison.

bash
bash <(curl -fsSL https://raw.githubusercontent.com/coucagog/cloison-proxy/main/install-n0.sh)

Windows (PowerShell)

Équivalent Windows : binaire cloison-proxy.exe, avec la passphrase confiée au Credential Manager en option.

powershell
powershell -ExecutionPolicy Bypass -File https://raw.githubusercontent.com/coucagog/cloison-proxy/main/install-n0.ps1
Binaire signé

L'empreinte SHA-256 est publiée, et la signature du binaire est vérifiée. Rien n'est exécuté tant que l'intégrité n'est pas prouvée : un téléchargement altéré stoppe l'installation au lieu de continuer.

Options communes

OptionEffet
--version v0.3.0installe une version précise (défaut : latest)
--prefix DIRrépertoire d'installation (défaut ~/.cloison)
--skip-ner / -SkipNersans le NER léger (gazetteers + alias seuls — la limite « texte libre » reste alors assumée)
03Lancement

Un daemon local, un coffre chiffré.

Le daemon écoute sur localhost:8787 — local uniquement. L'authentification reste 100 % locale : jamais de compte, jamais de clé qui sort.

Le mode N0 s'active en posant CLOISON_VAULT_PATH : le coffre est chiffré et persistant, le sel de session garde vos conversations restaurables.

env
export CLOISON_ROLE=edge
export CLOISON_LISTEN_ADDR=127.0.0.1:8787          # local uniquement
export CLOISON_UPSTREAM_BASE_URL=https://openrouter.ai/api/v1   # votre fournisseur
export CLOISON_VAULT_PATH=~/.cloison/vault.redb    # coffre persistant
export CLOISON_VAULT_PASSPHRASE='votre-passphrase' # clé du coffre (jamais persistée)
export CLOISON_EXPECTED_ACCESS_TOKEN=mon_jeton      # jeton mn_ local
export CLOISON_TENANT_KEY_HEX=$(openssl rand -hex 32)  # clé locataire
cloison-proxy

Comportements garantis

  • Fail-loud au boot : passphrase absente, mauvaise passphrase ou coffre corrompu → le daemon refuse de démarrer, jamais de recréation silencieuse.
  • Keychain OS (optionnel) : CLOISON_VAULT_KEYCHAIN_SERVICE posé → la passphrase est stockée chiffrée par l'OS (Credential Manager / Keychain / Secret Service), jamais en clair par CLOISON.
  • Sel de session persistant : vos conversations restent restaurables à travers les redémarrages. Rotation : supprimer <prefix>/.salt puis redémarrer.
  • Généralisation : date → YYYY-MM, IP → [IP], carte → •••••••••1234, ville → [VILLE_SN].
Auth 100 % locale

Jeton mn_ local, clé locataire générée sur place, coffre chiffré AES-256-GCM. Rien ne quitte la machine tant que vous ne l'avez pas demandé — par défaut, aucun reçu ne sort, y compris en audit opt-in.

04Configuration

Deux champs : base URL + clé composite.

Dans votre interface IA existante — Open WebUI, LibreChat, bolt.diy, ou vos agents — remplacez l'endpoint par le daemon local.

config
Base URL : http://localhost:8787/v1
Clé      : mn_<jeton_local>.<clé_amont>
Votre interface reste la vôtre

Seul l'endpoint change, aucun code à réécrire. La clé composite marie le jeton mn_ local (authentification) et la clé amont (fournisseur) : le proxy authentifie la requête localement, puis la relaie au modèle.

Référence complète des variables CLOISON_* : voir la section API.

05Premier appel

Une requête, des jetons ⟦…⟧, une restauration.

La PII est remplacée avant l'envoi, puis réintégrée à la réponse. Vous voyez le résultat ; le modèle, lui, n'a vu que des jetons.

curl
curl -s http://localhost:8787/v1/chat/completions \
  -H "Authorization: Bearer mn_<jeton>.<clé_amont>" \
  -H "Content-Type: application/json" \
  -d '{"model":"x","messages":[{"role":"user","content":
       "Contact: Aminata Diop, user@example.com, tel +221 77 123 45 67"}]}'
# → la réponse contient « Aminata Diop, user@example.com, +221 77 123 45 67 »
#   (restaurés) et aucune sentinelle ⟦…⟧ résiduelle.
Restauration bornée

Un jeton d'une requête antérieure n'est jamais restauré (registre + MAC), et une sentinelle ⟦…⟧ forgée n'est jamais réintégrée. La coréférence est conservée : la réponse reste exploitable, jamais identifiable.

06Vérification

Trois contrôles, zéro clair hors du poste.

Les checksums, le journal et l'absence de données en clair — vérifiables à tout moment, sans rien croire sur parole.

Vérifier l'installation

bash
sha256sum ~/.cloison/cloison-proxy      # comparez à l'empreinte publiée
~/.cloison/cloison-proxy --version       # le daemon répond

Le coffre ne contient aucune valeur en clair

Le coffre (~/.cloison/vault.redb) est chiffré AES-256-GCM. Une recherche de clair ne renvoie rien :

bash
grep -a Aminata ~/.cloison/vault.redb    # → aucune valeur, le coffre est chiffré
Aucune donnée en clair hors du poste

Binaire signé, checksums contrôlés au téléchargement, coffre chiffré, journal append-only en audit opt-in. Par défaut, aucun reçu ne quitte la machine — et le journal public ne recueille que des compteurs signés, jamais de texte.

07Conformité

Le cadre de référence est d'abord le vôtre.

CLOISON installe un moteur. La responsabilité juridique du traitement reste la vôtre, et le cadre qui la définit est d'abord régional et national.

Le droit africain de la protection des données personnelles est le socle. C'est lui qui fixe vos obligations de responsable de traitement — bien avant tout texte européen.

  • Loi n° 2008-12 (Sénégal) — le texte national de référence sur la protection des données à caractère personnel.
  • Acte additionnel CEDEAO A/SA.1/01/10 — le cadre communautaire, applicable également dans l'espace UEMOA. CLOISON s'aligne sur son vocabulaire et ses régimes.
  • Convention de Malabo 2014 — le cadre continental de cybersécurité et de protection des données qui structure l'approche régionale.
  • Régime deux étages de la CDP — déclaration pour les traitements courants, autorisation préalable pour les traitements sensibles : la CDP Sénégal exige le régime adapté à votre traitement.
  • Responsable de traitement ≠ sous-traitant — deux régimes distincts. Le proxy N0 s'exécute chez vous comme un outil ; il ne se substitue pas à votre responsabilité de responsable de traitement.
Le RGPD, en complément

Le RGPD n'est pas le cadre principal ici : il s'ajoute en fast-follow européen, uniquement si vous traitez des données de résidents de l'Union. Le vocabulaire — responsable / sous-traitant, autorisation préalable — est le même, ce qui rend la conformité transposable d'un cadre à l'autre. Le moteur CLOISON, lui, ne change pas.

Pour aller plus loin

Le détail des régimes, des champs couverts et des limites honnêtes est documenté dans la FAQ + limites honnêtes. Vous préférez le mobile ? Voir le guide Android — même moteur, dans une app WebView.