Autenticazione
Rediacc supporta più metodi di autenticazione:
- Password: Accesso tradizionale con email e password
- Magic Link: Accesso senza password tramite link email (scadenza di 15 minuti)
- Autenticazione a due fattori (2FA): Basata su TOTP con codici di backup
Quando la 2FA è abilitata, l’accesso richiede sia la password (o il magic link) sia un codice TOTP a 6 cifre.
Token API
I token API autenticano le operazioni machine-to-machine (attivazione licenza CLI, controlli di stato).
Scope:
license:read— Interrogare lo stato dell’abbonamento e delle licenzelicense:activate— Attivare le macchine e rilasciare licenze repositorysubscription:read— Leggere i dettagli dell’abbonamento
Funzionalità di sicurezza:
- Binding IP: la prima richiesta blocca il token su quell’indirizzo IP
- Scope per team: i token possono essere limitati a un team specifico
- Revoca automatica: i token vengono revocati quando il creatore viene rimosso dall’organizzazione
Creazione di un token:
# Tramite il portale: API Tokens > Create
# Il valore del token viene mostrato una sola volta -- salvalo in modo sicuro
Flusso Device Code
La CLI può autenticarsi su macchine headless tramite il flusso device code:
rdc config remote enable --headless
# Visualizza: Enter code XXXX-XXXX-XX at https://www.rediacc.com/account/authorize
# Dopo l'approvazione, la CLI riceve le credenziali automaticamente
Archiviazione della configurazione
Per la configurazione cifrata e sincronizzata con il server, consulta Config Storage per la guida completa. L’archiviazione della configurazione utilizza:
- Cifratura zero-knowledge (il server non vede mai il testo in chiaro)
- Derivazione della chiave basata su passkey (WebAuthn + PRF)
- Token rotanti con rotazione per ogni richiesta
Sicurezza della sessione
| Tipo di token | Durata | Archiviazione | Aggiornamento |
|---|---|---|---|
| Access Token (JWT) | 15 minuti | Cookie HttpOnly | Automatico tramite refresh token |
| Refresh Token | 7 giorni | Cookie HttpOnly | Ruotato a ogni utilizzo |
| Sessione elevata | 10 minuti | Lato server | Attivata dalla ri-autenticazione |
Le sessioni elevate sono richieste per le operazioni sensibili: modifiche della password, modifiche dell’email, configurazione della 2FA, trasferimenti di proprietà e azioni amministrative distruttive.
Modello di permessi
Rediacc utilizza tre livelli di permessi indipendenti:
Livello 1: Ruolo di sistema — Determina l’accesso agli endpoint di amministrazione di sistema.
Livello 2: Ruolo organizzazione — Controlla ciò che un utente può fare all’interno della propria organizzazione (owner, admin, member).
Livello 3: Ruolo team — Limita l’accesso alle risorse specifiche del team (team_admin, member). I proprietari e gli amministratori dell’organizzazione bypassano i controlli del ruolo team.
Ogni richiesta API passa attraverso tutti i livelli applicabili in sequenza. Una richiesta a un endpoint con scope team deve soddisfare l’autenticazione della sessione, l’appartenenza all’org e l’accesso al team.
Canali di aggiornamento
La CLI supporta due canali di rilascio:
- stable (predefinito): Promosso da edge dopo un periodo di maturazione di 7 giorni; sceglilo per un ciclo di aggiornamento conservativo
- edge: Distribuzione continua in produzione, aggiornato a ogni merge nel main
rdc update --channel edge # Passa a edge
rdc update --channel stable # Torna a stable
rdc update --status # Mostra il canale corrente
Postura di sicurezza della CLI per gli agenti AI
Ogni invocazione di rdc viene classificata all’avvio come human o agent in base ai segnali dell’ambiente (CLAUDECODE, GEMINI_CLI, COPILOT_CLI, CURSOR_TRACE_ID, REDIACC_AGENT) più un’analisi della catena di antenati Linux /proc. Gli agenti ricevono un insieme ridotto di permessi: le mutazioni sensibili alla configurazione richiedono il knowledge-gate (--current <old>), l’editor interattivo viene rifiutato senza un override REDIACC_ALLOW_CONFIG_EDIT verificato tramite antenati, e --reveal su qualsiasi comando di visualizzazione è bloccato. Ogni decisione — consenti, rifiuta, concedi --reveal — scrive una riga JSONL con hash in catena in ~/.config/rediacc/audit.log.jsonl. Esegui rdc config audit verify per controllare l’integrità della catena.
Consulta Sicurezza e guardrail per agenti AI per la matrice completa di ciò che gli agenti possono e non possono fare, esempi pratici del knowledge-gate e la meccanica degli scope-override.