Aller au contenu principal
Version: Cible · roadmap

Données

Ce qu'une action consomme et ce qu'elle laisse : d'où viennent ses valeurs, ce qui sort, combien de temps tout est gardé, et ce qui ne se fait qu'une fois. Ce qui plafonne plusieurs actions est un budget.

D'où vient une valeur​

Une garde vérifie une action, pas l'origine de ses valeurs. set_by le fait (voir Skills) :

    params:
amount: {type: price, set_by: [read, person], max: "$params.max_amount"}
recipient: {type: email, set_by: [read, identity]} # jamais le modèle
note: {type: text, set_by: [llm, person]}

Une valeur dont la provenance n'est pas permise est refusée (phase 3 des gardes).

Ce qui sort​

Une lecture ramène un salaire dans le contexte ; une écriture suivante — un e-mail au candidat — pourrait l'emporter dehors. Deux déclarations l'empêchent :

apis:
- name: gmail
operations: [{id: sendEmail, access: write, audience: external}]
skills:
- name: read-contract
present:
fields:
salary: {from: gross_salary, type: price, class: confidential}

Une écriture vers une audience external ne peut pas porter une valeur de classe confidential ou plus. Core le vérifie sur les valeurs, puisqu'il sait ce que la room a lu. Une politique smart peut détecter une paraphrase ; elle ne remplace pas ce contrôle.

classepeut aller
publicpartout
internaldans l'organisation
personallà où la personne concernée l'attend ; réduite dans la sortie vers le modèle quand c'est possible
confidentialjamais vers une audience externe
secretjamais vers le modèle (retirée par output_filters)

Garder seulement ce dont un endroit a besoin (RGPD) : les traces de lecture ne gardent que ce que les gardes suivantes lisent et ce que la personne doit voir.

Les durées​

  • La room : vide, elle est effacée après 24 h ; inactive, après 90 jours. Ce sont les durées par défaut, réglables par tenant. Ce qu'elle contient — sélection, fil de conversation, enregistrements, données d'identité — la suit. Voir Contexte.

  • Le journal est gardé la durée que la loi impose au tenant, plus longtemps que la room.

  • Une donnée de santé n'est jamais gardée : une room ne la retient pas.

  • Une approbation est liée à une version de l'action — une empreinte de ses arguments. Si l'action change, l'approbation tombe.

  • valid_for sur une skill : un devis valable 30 jours. Au-delà, l'action est revérifiée avant le submit.

  • Une trace de lecture peut être périmée ; un submit guard peut exiger une lecture récente.

Une règle qui change pendant un parcours​

La room garde la version de config de son départ — un parcours de trois jours ne change pas de règles en route. Une exception : un resserrement s'applique tout de suite, un assouplissement seulement aux nouveaux parcours. Révoquer une sous-identité n'attend pas.

L'unicité​

unique: "$params.invoice" sur une skill : la même facture n'est pas remboursée depuis deux tickets.