Documentation
¶
Overview ¶
Package orgpolicy charge, vérifie et applique la politique d'organisation signée (policy.toml + signature minisign). Ce fichier contient la vérification des signatures minisign (Ed25519, formats "Ed" et "ED").
Index ¶
- Variables
- func HostOf(rawURL string) string
- func Resolve(getenv func(string) string) (dir string, system bool)
- func SystemDir() string
- func Verify(pk PublicKey, msg, sig []byte) (trustedComment string, err error)
- type ACP
- type AuditTimestamp
- type Budget
- type Classification
- type MCP
- type Memory
- type Policy
- type ProviderDef
- type Providers
- type PublicKey
- type Redaction
- type Routing
- type Rule
- type Sandbox
Constants ¶
This section is empty.
Variables ¶
var ErrPolicy = errors.New("policy violation")
ErrPolicy est l'erreur racine : toute erreur de politique l'enveloppe.
Functions ¶
Types ¶
type ACP ¶ added in v0.9.0
type ACP struct {
NoEditorMCP bool
}
ACP : [acp] de la politique. NoEditorMCP : « accept_editor_mcp = false » (« true » est refusé : une politique ne peut qu'interdire).
type AuditTimestamp ¶
AuditTimestamp : horodatage RFC 3161 imposé. CA : PEM des racines de confiance de l'autorité (nil = racines système).
type Budget ¶ added in v0.8.0
type Budget struct {
SessionTokens int64 `toml:"session_tokens"`
}
Budget : [budget] de la politique. Seul session_tokens est imposable ; la valeur est strictement positive (0 = non imposé).
type Classification ¶
Classification : règles de sensibilité imposées ([classification]).
type MCP ¶
type MCP struct {
Mode string `toml:"mode"`
AllowHosts []string `toml:"allow_hosts"`
AllowCommands []string `toml:"allow_commands"`
}
MCP restreint les serveurs MCP ; Mode "" équivaut à "any".
type Memory ¶ added in v0.8.0
Memory : [memory] de la politique. Disabled : « enabled = false » (« true » est sans effet) ; NoProject : « project = false » ; MaxRetentionDays : plafond de rétention (0 = non imposé).
type Policy ¶
type Policy struct {
ID string
Version int
Profile profile.Name // plancher ; "" = aucun
Providers *Providers // nil : pas de liste blanche
Rules []Rule // [[permissions.rules]]
Redaction []Redaction // [[redaction.rules]]
AuditLevel string // [audit] level ; "" = non imposé
Timestamp *AuditTimestamp // [audit.timestamp] ; nil = non imposé
MCP MCP
Sandbox Sandbox // [sandbox] ; Mode "" = non imposé
// Classification : chemins et marqueurs ajoutés à ceux de la config.
Classification Classification
// Routing : fournisseur local imposé ("" = non imposé).
Routing Routing
// Budget : plafond de tokens par session imposé (0 = non imposé).
Budget Budget
// Memory : coupures et plafond de rétention de la mémoire imposés.
Memory Memory
// ACP : coupure des serveurs MCP de l'éditeur imposée.
ACP ACP
KeyID string // renseigné par Load
}
Policy est la politique d'organisation décodée et validée.
func Load ¶
Load lit, vérifie et décode la politique de dir. Renvoie nil, nil si dir est vide ou si policy.toml est absent.
func (*Policy) AllowsHost ¶
AllowsHost indique si un fournisseur sur cet hôte est admis. Un *Policy nil n'impose rien.
type ProviderDef ¶
type ProviderDef struct {
ID string `toml:"id"`
Name string `toml:"name"`
BaseURL string `toml:"base_url"`
APIKeyEnv string `toml:"api_key_env"`
Model string `toml:"model"`
Country string `toml:"country"`
Jurisdiction string `toml:"jurisdiction"`
ContextWindow int `toml:"context_window"`
// Qualifications : qualifications déclarées par l'organisation.
Qualifications []string `toml:"qualifications"`
}
ProviderDef est un fournisseur fourni par l'organisation.
type Providers ¶
type Providers struct {
AllowHosts []string `toml:"allow_hosts"`
AllowLocal bool `toml:"allow_local"`
Define []ProviderDef `toml:"define"`
}
Providers porte la liste blanche et les fournisseurs imposés.
type PublicKey ¶
PublicKey est une clé publique minisign.
func ParsePublicKey ¶
ParsePublicKey accepte le fichier .pub (commentaire + base64) ou la ligne base64 seule.
type Routing ¶
type Routing struct {
Local string `toml:"local"`
}
Routing : [routing] de la politique. Seul local est imposable ; le fournisseur est vérifié à l'application (config.ApplyPolicy).
Directories
¶
| Path | Synopsis |
|---|---|
|
Package orgpolicytest fournit des aides de test : génération d'une clé Ed25519 éphémère et écriture d'une politique signée au format minisign.
|
Package orgpolicytest fournit des aides de test : génération d'une clé Ed25519 éphémère et écriture d'une politique signée au format minisign. |