Publié le
Sécurité

Architecture & sécurité

Stack moderne, isolation par schéma PostgreSQL, chiffrement TLS 1.3 et AES-256, audit trail accessible 90 jours.

Stack technique#

UpBoard repose sur des briques open-source éprouvées et des choix d'architecture pensés pour la souveraineté et la traçabilité.

CoucheTechnologies
FrontendNext.js 14 (App Router), React 18, TypeScript, TailwindCSS
Backend APIPython 3.12, FastAPI, async-first
Orchestration agentsLangGraph (StateGraph, human-in-the-loop natif, checkpointing)
Bases de donnéesPostgreSQL 16 (multi-tenant), TimescaleDB (séries temporelles), Qdrant (vectoriel), Redis (cache)
Workflow schedulingTemporal.io (scans récurrents, alertes)
LLMsClaude Sonnet 4 (raisonnement), Claude Haiku (tâches rapides), routing dynamique
ConteneurisationDocker, Kubernetes
HébergementInfomaniak Belgique (VPS dédiés)
ObservabilitéOpenTelemetry, métriques Prometheus, logs structurés

Isolation des données#

L'isolation entre clients est appliquée à plusieurs niveaux :

Schéma PostgreSQL par tenant

Chaque client a son propre schéma PostgreSQL isolé. Aucune table partagée. Une requête mal formée chez un client ne peut pas atteindre les données d'un autre.

Clés de chiffrement par tenant

Les données sensibles (clés API Odoo, identifiants connectés) sont chiffrées avec une clé dédiée par tenant, dérivée d'une master key stockée hors application.

Réseau segmenté

Les agents s'exécutent dans des conteneurs isolés. Pas de partage de mémoire ni de cache entre tenants.

Mémoire LLM par tenant

La mémoire contextuelle de chaque agent est strictement scopée à un tenant. Pas de modèle global qui apprend de tous les clients.

Chiffrement#

  • En transit : TLS 1.3 obligatoire sur tous les échanges (UpBoard ↔ Odoo, UpBoard ↔ navigateur, UpBoard ↔ LLM providers)
  • Au repos : AES-256 sur toutes les données persistantes (PostgreSQL, backups, logs)
  • Secrets applicatifs : stockés dans HashiCorp Vault, accessibles uniquement par les services qui en ont besoin
  • Clés API Odoo : chiffrées au repos avec la clé dédiée du tenant, jamais loggées en clair

Audit trail#

Toutes les actions sensibles sont loggées :

  • Connexions et authentifications (succès et échecs)
  • Requêtes sortantes vers Odoo (read/write)
  • Recommandations générées par les agents
  • Validations et rejets utilisateur
  • Actions exécutées (envoi email, création PO, modification min/max…)

Les logs sont accessibles 90 jours depuis l'interface UpBoard, exportables au format JSON ou CSV. Au-delà de 90 jours, ils sont archivés en stockage froid pendant 2 ans pour besoin d'enquête éventuel.

Tests d'intrusion et certifications#

  • Pen-tests réguliers : un test d'intrusion externe est planifié au démarrage de la phase Business (Q3 2026)
  • SOC 2 Type II : démarche engagée, certification visée pour fin 2027
  • ISO 27001 : démarche prévue post-SOC 2

D'ici là, nous appliquons les contrôles SOC 2 par défaut : revues de code, séparation des environnements (dev / staging / prod), least privilege, MFA obligatoire pour les accès admin, rotation des secrets.

Notification d'incident#

En cas d'incident de sécurité affectant vos données, vous serez notifié par email dans les 24 heures suivant la détection, avec :

  • Nature de l'incident
  • Données potentiellement concernées
  • Mesures de remédiation prises
  • Actions recommandées de votre côté

Cette notification est par ailleurs une obligation RGPD pour les fuites de données personnelles.

Voyez UpBoard travailler sur vos Odoo data

Démo live de 30 minutes. Gratuite. Sans engagement. Chiffres € visibles dès la première connexion.