Aller au contenu

Guide d’intégration · SDK CERVEAU

Embarquer ELYSÉA.
Six étapes. Rien à configurer côté éthique.

Votre LLM, votre infrastructure, votre UX. ELYSÉA s’intercale comme couche de protection relationnelle : les quatre interdits et la conformité AI Act sont hérités automatiquement, sans règle éthique à coder ni couche supplémentaire à maintenir.

Créer mon app →Quickstart complet →

Ce que vous n’écrirez pas

Hérité du pipeline.
Pas recodé dans votre app.

Guardian SDK

Détection et blocage des 4 interdits — actif à chaque appel pipeline.run().

Orientation crise

Orientation crise (numéros d'urgence, désescalade) — non désactivable, firm_safety intégré.

Journaux AI Act

Logs horodatés signés HMAC-SHA256 émis automatiquement. Rétention 6 mois par architecture.

Mémoire utilisateur

M1–M6 persistées côté Core. Votre app lit la synthèse consentie — pas les items bruts.


Intégration pas à pas

Clé constructeur

Créez votre app dans le portail développeur. Vous recevez une clé sk_test_ instantanément — sans revue, sans engagement. La clé sk_live_ demande une revue individuelle (24–72h) : c'est ce qui garantit l'intégrité de l'écosystème.

Portail développeur →

Installation

Un seul paquet. Node.js 18+ ou navigateur (ESM).

bash
npm install @elysea/sdk
# ou
yarn add @elysea/sdk

Initialisation du client

Trois paramètres : votre clé, votre appId, la région EU (obligatoire — hébergement souverain). BYOK : les tokens LLM restent à votre charge — ELYSÉA n'a pas accès à vos clés de modèle.

typescript
import { ElyseaClient } from '@elysea/sdk';

const elysea = new ElyseaClient({
  apiKey: process.env.ELYSEA_API_KEY,  // clé constructeur
  appId:  process.env.ELYSEA_APP_ID,   // identifiant app
  region: 'EU',                         // obligatoire — souveraineté EU
});

Résolution d'identité

ELYSÉA dérive un coreUserId anonymisé depuis votre JWT. Vous ne transmettez jamais l'email ni les données réelles de l'utilisateur. La mémoire et la continuité cross-app fonctionnent sur ce coreUserId.

typescript
// Depuis votre middleware auth
const { coreUserId } = await elysea.identity.resolve({
  userJwt: req.headers.authorization,
});
// coreUserId → identifiant interne anonymisé
// Jamais l'email, jamais les données PII

Premier appel pipeline

Un appel — le pipeline complet : interprétation du signal, vérification Guardian, génération, post-traitement éthique. Les 4 interdits sont actifs. Vous n'avez rien à configurer.

typescript
const result = await elysea.pipeline.run({
  userInput:           userMessage,
  coreUserId,
  conversationHistory: previousMessages, // optionnel
});

// result.response    → réponse conforme, prête à afficher
// result.posture     → posture appliquée (present_neutral, firm_safety…)
// result.signal      → signal interprété (besoin, détresse, factuel…)
// result.guardianLog → trace Guardian pour votre audit

Trust-mark

Dès que votre app est active, le badge « Powered by ELYSÉA » est disponible. Il indique à vos utilisateurs que les 4 interdits sont actifs et que la conformité AI Act est héritée. Affichage obligatoire — non-supprimable par configuration.

Comprendre le trust-mark →

Exemple complet

Intégration en 30 lignes.

Copiez ce fichier dans votre projet — c’est une intégration fonctionnelle complète.

typescript
// elysea.ts — intégration ELYSÉA CERVEAU
import { ElyseaClient, type PipelineResult } from '@elysea/sdk';

const elysea = new ElyseaClient({
  apiKey: process.env.ELYSEA_API_KEY!,
  appId:  process.env.ELYSEA_APP_ID!,
  region: 'EU',
});

type Message = { role: 'user' | 'assistant'; content: string };

export async function chat(
  userJwt: string,
  message: string,
  history: Message[] = [],
): Promise<PipelineResult> {
  // 1. Identité anonymisée — jamais l'email
  const { coreUserId } = await elysea.identity.resolve({ userJwt });

  // 2. Pipeline cognitif — 4 interdits actifs, rien à configurer
  const result = await elysea.pipeline.run({
    userInput:           message,
    coreUserId,
    conversationHistory: history,
  });

  // result.response    → réponse prête à afficher
  // result.posture     → posture runtime appliquée
  // result.signal      → signal interprété
  // result.guardianLog → trace Guardian pour votre audit
  return result;
}

// Dans votre handler API :
// const result = await chat(req.headers.authorization, req.body.message, history);
// res.json({ reply: result.response });

Monotonicité SDK

Vous pouvez durcir.
Jamais affaiblir.

Si votre cas d’usage l’exige — secteur médical, utilisateurs mineurs, contexte professionnel — vous pouvez ajouter des contraintes supplémentaires via les extensions SDK. Toute tentative de désactiver un interdit de base (clés disableDominationCheck, suppressSafety, etc.) déclenche immédiatement une SdkProhibitionError — la requête est rejetée avant exécution.

typescript
// Extension — ajout de contrainte sectorielle (médical)
const elysea = new ElyseaClient({
  apiKey: process.env.ELYSEA_API_KEY!,
  appId:  process.env.ELYSEA_APP_ID!,
  region: 'EU',
  extensions: [{
    checkOutput: (text, ctx) => {
      // Contrainte supplémentaire : bloquer tout claim médical
      if (containsMedicalDiagnosis(text)) {
        return [{ pilier: 'substitution', action: 'block', detail: 'medical_claim' }];
      }
      return [];
    }
  }]
  // Les 4 interdits de base restent actifs — non modifiables
});

// Interdit — déclenche SdkProhibitionError :
// disableDominationCheck: true   → P1_D0_OVERRIDE_ATTEMPT
// suppressSafety: true           → P3_SAFETY_GATE_BYPASS_ATTEMPT
// bypassGuardian: true           → P4_NON_CONFORM_LLM_SIGNATURE

sk_test_ disponible maintenant.
Pipeline actif dès le premier appel.

Créer mon app →Les 4 protections →Conformité AI Act →