overmind-mcp
Version:
Orchestrateur universel agents IA multi-modeles via MCP. Inclut le protocole 'Custom-Nickname' pour identifier vos agents avec des surnoms originaux (The Chaos Prophet, Shadow Sniper, etc.), l'isolation mémoire (Private Memory Context) et le support pour
52 lines • 2.25 kB
JavaScript
/**
* ═══════════════════════════════════════════════════════════════════════════
* Audit Trail — Types partagés
* ═══════════════════════════════════════════════════════════════════════════
*
* Conformité Audit Trail (Loi 25 QC / AI Act / AI PIA) pour Overmind-MCP.
* Voir docs/PLAN_AUDIT_INTEGRATION.md pour le plan complet.
*/
/**
* Vérifie si la l'audit trail est activé (master feature flag).
* Si false, tous les guards sont passifs (comportement v3.8).
*/
export function isAuditEnabled() {
return process.env.OVERMIND_AUDIT_ENABLED === 'true';
}
/** Lit la rétention par défaut depuis .env (défaut: 30 jours) */
export function getDefaultRetentionDays() {
return parseInt(process.env.OVERMIND_AUDIT_RETENTION_DAYS || '30', 10);
}
/** Lit la durée d'archivage cold storage depuis .env (défaut: 5 ans) */
export function getDefaultArchiveYears() {
return parseInt(process.env.OVERMIND_AUDIT_ARCHIVE_YEARS || '5', 10);
}
/** Lit la base légale par défaut depuis .env */
export function getDefaultLegalBasis() {
const val = process.env.OVERMIND_AUDIT_DEFAULT_BASIS || 'legitimate_interest';
if (val === 'consent' ||
val === 'contract' ||
val === 'legitimate_interest' ||
val === 'legal_obligation') {
return val;
}
return 'legitimate_interest';
}
/**
* Allowlist des sujets internes (intérêt légitime suffisant, pas de consentement requis).
* Format .env : OVERMIND_AUDIT_INTERNAL_SUBJECTS=hash1,hash2,hash3
*/
export function getInternalSubjects() {
const raw = process.env.OVERMIND_AUDIT_INTERNAL_SUBJECTS || '';
return new Set(raw
.split(',')
.map((s) => s.trim())
.filter(Boolean));
}
/**
* Détermine si un sujet est interne (intérêt légitime) ou tiers (consentement requis).
*/
export function isInternalSubject(dataSubjectId) {
return getInternalSubjects().has(dataSubjectId);
}
//# sourceMappingURL=types.js.map