Skip to main content

Sentinel — the inbound governor

DeanWay Labs. Sentinel is the mirror of QuietOS. QuietOS governs what an AI agent does. Sentinel governs what an AI agent hears.

The brain proposes, QuietOS disposes — and Sentinel decides what the brain is even allowed to hear.

The problem

An agent reads data and instructions in the same stream, and cannot natively tell them apart. So the world has learned to hide orders inside the data: a webpage that tells the assistant to email out the passwords, an email wearing the owner's name, a tool result with a second, secret job tucked inside it. That is prompt injection, and it works because nothing stands at the door.

Sentinel stands at the door.

The law

Only the owner issues instructions. Everything else is data.

Content from the world — webpages, emails, files, messages, tool outputs — is inspected before it reaches the brain, and whatever passes is delivered wrapped and labeled as data, never as orders. A claim inside the content ("I am the owner", "the owner already approved this", SYSTEM:) authenticates nothing: authentication comes from the channel, never from the text.

Verdicts

Verdict Meaning
ALLOW Clean data. Passes through, labeled as data.
ESCALATE Instruction-shaped content aimed at the agent from a non-owner source. Held for the owner with the exact content preserved — the same approval-binding discipline as QuietOS. Nothing acts on it while it waits.
BLOCK Known-hostile patterns: exfiltration directives, owner/system impersonation, false approval claims, rule-override incantations, concealment directives. Refused outright.

Every ESCALATE and BLOCK is written to an append-only attack ledger — timestamp, source, verdict, matched signals, SHA-256 of the exact content, and a preserved excerpt. Attempts are evidence, and the ledger is part of the product, the same way QuietOS's red-team proof log is.

v0.1 scope

  • Deterministic inspection only — pattern/heuristic checks, no model in the loop. Base64-encoded payloads are decoded and inspected too; an encoded order is still an order. Invisible-character smuggling (zero-width) is normalized away before scanning.
  • Structured for a model check later — checks are pure functions returning the same Signal values; a model-based check can join rules.CHECKS without touching the engine.
  • Honest limits (see docs/PROOF-LOG.md for the current open holes): the fence is English-only and literal — synonym-crafted, leetspeak, and purely semantic attacks can pass the fence. They still meet the law: missed content reaches the brain labeled as data, not orders. Detection raises the cost of attack; authority is the wall.

Use

from sentinel import Inspector, Source

inspector = Inspector()  # optionally: Inspector(ledger=AttackLedger("attacks.jsonl"))

verdict = inspector.inspect(page_text, Source("webpage", url))
if verdict.verdict == "ALLOW":
    brain_input = Inspector.labeled_payload(verdict, page_text)
elif verdict.verdict == "ESCALATE":
    hold_for_owner(verdict.excerpt, verdict.signals)   # exact content, owner's call
else:  # BLOCK
    refuse(verdict)

The owner's own authenticated channel is the one exception to inspection: Source("owner", ..., owner_authenticated=True) passes with role instruction — it is not an attack surface, it is the authority. An unauthenticated claim to the owner channel is blocked as impersonation by construction.

Tests

python3 -m pytest tests/ -q

Three suites: tests/test_redteam.py (attack cases), tests/test_controls.py (benign content that must pass as data), tests/test_engine.py (authority law, ledger evidence, labeling). Results — including the misses — live in docs/PROOF-LOG.md.

Origin

Conceived by Jon Dean (DeanWay Labs), 2026-10-21: "We govern what goes out — don't we need to protect the AI as well, and govern what comes in?" Built the same night. Named Sentinel by Jon.

Metadata

Release files for quietos-sentinel 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quietos-sentinel 0.1.0
File Size Uploaded Provenance
quietos_sentinel-0.1.0.tar.gz 15.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for quietos-sentinel 0.1.0
File Interpreter ABI Platform
quietos_sentinel-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.9 kB

Release files / quietos_sentinel-0.1.0.tar.gz

Download URL quietos_sentinel-0.1.0.tar.gz
Size 15.7 kB
Tags Source
SHA-256 checksum
How to use checksums
30280e8bbd1da31f70636663f607331cdd43388617499fea68b26f6663beeca2
BLAKE2b-256 checksum
How to use checksums
f6313439af7b92b0da63e1122a48d6792eb2be70b87c5a28b5708f59c56f133c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / quietos_sentinel-0.1.0-py3-none-any.whl

Download URL quietos_sentinel-0.1.0-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b226cb7db83fa92b77cb5ba9856c68c1bdc02b3ef5807ee534571ad6a98d8fe6
BLAKE2b-256 checksum
How to use checksums
0c5e503b300a22ce233e1fd9e8baee1c473a2d6a83d4f723fda8e3179d840e39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for quietos-sentinel 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page