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é.
| Couche | Technologies |
|---|---|
| Frontend | Next.js 14 (App Router), React 18, TypeScript, TailwindCSS |
| Backend API | Python 3.12, FastAPI, async-first |
| Orchestration agents | LangGraph (StateGraph, human-in-the-loop natif, checkpointing) |
| Bases de données | PostgreSQL 16 (multi-tenant), TimescaleDB (séries temporelles), Qdrant (vectoriel), Redis (cache) |
| Workflow scheduling | Temporal.io (scans récurrents, alertes) |
| LLMs | Claude Sonnet 4 (raisonnement), Claude Haiku (tâches rapides), routing dynamique |
| Conteneurisation | Docker, Kubernetes |
| Hébergement | Infomaniak 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.
À lire ensuite
Voyez UpBoard travailler sur vos Odoo data
Démo live de 30 minutes. Gratuite. Sans engagement. Chiffres € visibles dès la première connexion.