Ask VitContactAsk VitGet Started
ENIT

Limen Admin Panel

Motus Limen · console di amministrazione

Demo interattiva · dati simulati
Panoramica

Panoramica

Policy attiva, destinazioni raggiungibili e traffico della sessione simulata, in diretta.

Richieste elaborate0
Consentite0
Da esaminare0
Bloccate0

Traffico in tempo reale

in direttaProva reale ↓

Ogni richiesta simulata attraversa lo stesso motore di regole della console, coerente con modelli e policy correnti. Il contenuto di una richiesta non è mai mostrato qui.

Consentite0

Nessuna richiesta ancora in questa colonna.

Configura.

L'amministratore dichiara due modelli logici e crea i team engineering e finance, poi una chiave virtuale per ciascuno. Limen non legge mai il prompt, qui come altrove: è l'applicazione a dichiarare la classe del dato, in un header, in una chiave o nei metadati.

model_name: local-default    → ollama/qwen2.5:0.5b
model_name: external-default → ollama/qwen2.5:0.5b
team: engineering  ·  team: finance  ·  una chiave virtuale ciascuno
Admin UI: http://127.0.0.1:4000/ui

Policy.

L'amministratore legge la tabella delle policy ad alta voce. Engineering resta sul modello locale per ogni classe di dato dichiarata; finance può raggiungere il modello esterno solo con dati pubblici, mentre i dati personali vengono messi in attesa di revisione. Una richiesta che non trova riga — finance in testo semplice, senza una classe dichiarata pubblica o personale — viene negata di default: il gateway si chiude piuttosto che indovinare.

GruppoClasse del datoModelloRoute
engineeringtext · documents · public · personallocal-defaultallow
financepublicexternal-defaultallow
financepersonal— (in attesa)review

impronta della tabella di policy sha256:75bfd0e51dbfcd4606509c021a3c5e8b7ccc323b24bfe154be111ce52c659bca

Gli utenti chattano.

La prova prima scalda il modello locale una volta attraverso il gateway con la chiave engineering e scarta la risposta — narrato, non uno dei prompt dichiarati. Poi invia tre stringhe dichiarate, ciascuna con un limite di 180 secondi: una da engineering, due da finance. Gli esiti qui sotto sono la cattura reale, non l'ipotesi di uno script.

consentita · HTTP 200 · engineering / text
risposta (primi 200 caratteri): "Oh, I see you've set the variable `violet-orbit-allowed` to be
allowed. That's interesting! How can I assist you with it? If you have
any questions or need help with anything related to this setting, "

in attesa di revisione · HTTP 451 · finance / personal
{"error":{"message":"requires human review","code":"451",
 "provider_specific_fields":{"clause":"finance_personal_review"}}}

negata · HTTP 403 · finance / text
{"error":{"message":"denied","code":"403",
 "provider_specific_fields":{"clause":"no_matching_policy"}}}

Osserva.

L'amministratore ispeziona il log di spesa che contiene solo metadati, i due alert locali via webhook sollevati dalla prova, e la coda di revisione. Tutto porta un tenant, una clausola e l'hash del prompt. Niente porta il prompt stesso — inclusa la coda che una persona aprirebbe per agire sulla richiesta in attesa.

alert-01.json — route: review, clause: finance_personal_review
  policy_table_fingerprint: sha256:75bfd0e51dbfcd4606509c021a3c5e8b7ccc323b24bfe154be111ce52c659bca
  prompt_hash: fb3709da10af60804e88cc1807faf044d3d19460156b04bee0ccdbeef7b889f3

alert-02.json — route: deny, clause: no_matching_policy
  run_ref: sha256:aec03485ef4560554e86662bc6f18ec8b729bb032aa537901b04c28861957142
  prompt_hash: 31844601553c657d7bc71587baed02d40d0bb8e87b53eec664fc1c614b396506

Dimostra.

L'amministratore invia i checkpoint della prova stessa, copia le evidenze aggiornate e le convalida offline — con il validatore pubblicato, non uno nostro. Per le ancore, la verifica passa dallo strumento ots di OpenTimestamps stesso, contro tre calendari che qui nessuno gestisce. Poi, una volta sola, una clausola di policy in una traccia copiata viene alterata di proposito, così il lettore vede il controllo rifiutare un record falsificato prima di fidarsi che ne accetti uno genuino.

trial/gateway-trial checkpoint-000000  anchored  bitcoin-block:965509  2026-09-04T18:48:44Z
trial/gateway-trial checkpoint-000001  anchored  bitcoin-block:965509  2026-09-04T18:48:44Z
trial/gateway-trial checkpoint-000002  anchored  bitcoin-block:965509  2026-09-04T18:48:44Z
trial/gateway-trial checkpoint-000003  anchored  bitcoin-block:965509  2026-09-04T18:48:44Z
trial/gateway-trial checkpoint-000004  anchored  bitcoin-block:965509  2026-09-04T18:48:44Z
trial/gateway-trial checkpoint-000005  anchored  bitcoin-block:965509  2026-09-04T18:48:44Z
trial/gateway-trial checkpoint-000006  pending   -                    -
… altri 17 checkpoint in attesa, al momento di questa cattura

Calendar https://finney.calendar.eternitywall.com: Pending confirmation in Bitcoin blockchain
Calendar https://bob.btc.calendar.opentimestamps.org: Pending confirmation in Bitcoin blockchain
Calendar https://alice.btc.calendar.opentimestamps.org: Pending confirmation in Bitcoin blockchain

T11 $.records[11].integrity.payload_hash: payload_hash does not match the record:
  declared  sha256:d53c7042f99be4ff93b647f97d25329b2fd0ff2dc90e4bf00193cf24bb7f1009
  recomputed sha256:7a80264ac48d3b627e381efb29da48d4e3fb2d79ddc9a770ff2f6a460423916b

Cosa non hai visto.

Il prompt non viene mai conservato — solo il suo hash, in ogni decisione, effetto, commitment e alert qui sopra. max_tokens limita ogni chiamata perché una generazione fuori controllo non possa far salire costi o tempi. La copia dell'applicazione della risposta consentita, sotto demo/out/requests/, può far riecheggiare il prompt dichiarato — è il log dell'applicazione, non l'evidenza di Limen, e i due restano separati di proposito.

Verifica tu stesso.

Cinque comandi, sullo stesso repository, riproducono ogni affermazione di questa pagina.

bash demo/run.sh --dry-run
pytest demo/tests -q
LIMEN_EVIDENCE_DIR=demo/out/evidence python -m limen.evidence.review list --json
find demo/out/evidence/decisions -name '*.jsonl' -exec motus-validate jsonl {} \;
grep -R -n -E 'violet-orbit-allowed|copper-lantern-review|marble-kite-denied' demo/out/evidence || true