Traduzione automatica. Il testo inglese è la versione di riferimento. English

verifica, non fidarti

Mettilo alla prova. Attaccalo tu stesso.

Ogni affermazione su questo sito ha un pulsante in questa pagina, collegato al vero sistema in esecuzione: un database live con row-level security, la vera coda di approvazione, il vero kill switch. Non registrazioni.

01, isolamento dei tenant

🔒 il gioiello della corona · live

Prova a violare l'isolamento dei tenant. Guarda come regge.

Due tenant sandbox, ognuno con una nota privata. Alpha possiede uno strumento condiviso e lo ha concesso a Beta. Quando Beta lo chiama, anche chiedendo esplicitamente i dati di Alpha, Postgres non restituisce nulla, perché lo strumento gira nello scope di Beta. Gira dal vivo su un database reale con sicurezza a livello di riga e un ruolo NOBYPASSRLS. Nessun audit ha superato la policy del database; l'unica fuga di dati tra tenant trovata (luglio) riguardava la cronologia chat conservata fuori dal database, ed è corretta. Non è uno script, premi il pulsante.

Cosa dimostra: una lettura da uno strumento condiviso, tra due tenant sandbox, non restituisce nulla. Cosa non dimostra: che memoria, cache, export o job in background siano isolati, né che ogni richiesta sia legata al tenant giusto.

tenant Bstrumento condiviso →i dati del tenant A

B chiama lo strumento di A, chiedendo esplicitamente i dati di A.
Premi Run, guarda RLS restituire zero righe.

Il meccanismo: la policy reale, non un diagramma:
ALTER TABLE bookings ENABLE ROW LEVEL SECURITY;
ALTER TABLE bookings FORCE  ROW LEVEL SECURITY;          -- even the table owner obeys it
CREATE POLICY tenant_isolation ON bookings
  USING (tenant_id = NULLIF(current_setting('app.current_tenant', true), '')::uuid);

-- Two roles: migrations run as the owner; the runtime connects as pantheon_app
-- (NOBYPASSRLS), so app code cannot switch the policy off. It relies on the right tenant being set per request.
-- Per request:  SET LOCAL app.current_tenant = '<id>'   →   no context ⇒ zero rows.
Un corpo di guardia e la sua saracinesca. Incisione generata e animata da Runway.

02, azione governata

⛔ governance · live

Guarda un'azione ad alto rischio venire governata.

Chiedi alla sandbox di fare qualcosa con una posta in gioco, pubblicare un annuncio pubblico (tier-3). Non viene semplicemente eseguito. Viene classificato, verificato rispetto al kill switch e messo in attesa di un umano. Tu lo approvi, poi agisce. Attiva il kill switch e guarda tier-3 rifiutare prima ancora di entrare in coda.

kill switch

Cosa dimostra: un'azione demo tier-3 viene messa in coda per una persona, e il kill switch la blocca. Cosa non dimostra: che ogni azione reale venga classificata come tier-3 quando dovrebbe.

tier-3→coda di approvazione→umano

Non viene eseguita. va in coda. Inviane una, poi approva o rifiuta.
Attiva il kill switch per fermarla prima ancora che possa andare in coda.

03, eval riproducibile

eval · live · ~15s

L'audit, riproducibile. Eseguilo tu stesso.

Un'eval di governance, casi avversariali valutati pass/fail contro l'assistente reale e la sandbox live, adesso. Non un badge; un pulsante. La stessa idea degli audit che continuano a rafforzarlo, il più recente un audit con 50 agenti e un re-audit a 14 lenti: sondare, poi verificare.

Cosa dimostra: cinque casi fissi passano ora sul sistema live; ogni risultato ha una ricevuta (caso, atteso, osservato, ora, build). Cosa non dimostra: la robustezza contro attacchi diversi da questi cinque.

5 casi avversariali
isolamento · governance · sicurezza · injection · onestà

Valutati pass/fail sul sistema live. Premi Run.

04, protocollo aperto

🔌 MCP · live

Punta la tua AI sulla mia, tramite il protocollo aperto.

PANTHEON parla il Model Context Protocol in entrambe le direzioni: può usare tool MCP esterni sotto governance e, live, proprio qui, espone i propri agenti governati come tool MCP. Sarò franco: collegare MCP è un lavoro da un weekend. Ciò che conta è quello che ci sta intorno, e non voglio che tu lo prenda sulla fiducia. Collega il tuo client e mettilo alla prova. Il protocollo è solo la presa. La governance è il punto.

npx mcp-remote https://pantheonlabs.co.uk/mcp --header "Authorization: Bearer <mint a token →>"

Porta qualsiasi client MCP, Claude Desktop (tramite mcp-remote), MCP Inspector, Cursor, Cline. Gira su un token sandbox anonimo a breve durata, generato su richiesta.

Poi guardalo governarsi da solo. Chiedi qualsiasi cosa all'assistente: credits_spent torna a ogni chiamata, quindi niente può andare in scoperto. Poi chiedigli di compiere un'azione: è una chiamata tier-3, e non parte mai, viene parcheggiata al gate di autorizzazione, in attesa di un umano. Quel rifiuto l'hai causato tu. Non è uno screenshot in una presentazione.

Cosa puoi raggiungere: un assistente governato che risponde + un'azione "gate demo" deliberatamente inerte. Una sandbox anonima con rate limit, nessun dato reale, nessuna azione con denaro reale. Cerca uno strumento che non esiste e ottieni lo stesso errore di uno che non ti è concesso, quindi gli errori non rivelano nulla.

05: il builder

Tutto ciò che hai appena attaccato l'ha costruito una sola persona.

Non hai preso nulla sulla fiducia; l'hai eseguito. Se vuoi sistemi costruiti per sopravvivere a una pagina come questa, parliamone.