Developer & Architecture Reference

OAIS Sentinel Documentation

How Sentinel Core captures AI interactions as tamper-evident, independently timestamped evidence across Amazon Bedrock, Azure OpenAI, Google Vertex AI, Cohere and self-hosted models.

1. Getting started

Sentinel is deployed with each customer by the OAIS team. Installation packages, tenant credentials and keys are provided during onboarding, not downloaded from this website. AWS Marketplace subscribers start by completing registration; everyone else starts with a scoping call.

Once your tenant is provisioned, initialise the client with the activation token we give you:

sentinel init --token <activation token from onboarding>

Then wrap your model calls. For Amazon Bedrock, the wrapper stands in for the bedrock-runtime client:

from oais_sentinel import SentinelBedrockClient

# Same interface as boto3.client('bedrock-runtime')
bedrock = SentinelBedrockClient()

response = bedrock.invoke_model(
    modelId="<your Bedrock model ID>",
    body={"prompt": "Assess commercial portfolio sensitivity..."}
)

# Evidence receipt for this interaction
receipt = response["sentinel_receipt"]
print(receipt["input_hash"])

2. Evidence architecture

Sentinel Core records what a governed AI pathway did without OAIS holding the content of the interaction.

  • Keyed fingerprints in your environment: prompts and completions are fingerprinted locally with HMAC-SHA3-256, using a secret key your organization holds.
  • No plaintext to OAIS: OAIS receives fingerprints and metadata, such as model identifier, timestamps and policy decisions, not prompt or response text.
  • Signed, append-only records: each record is signed with Ed25519 and chained in an append-only ledger.
  • Merkle batching and independent timestamps: records are batched into Merkle trees (RFC 6962-style; SHA3-256, not RFC 6962-interoperable), and each root is timestamped by an independent RFC 3161 authority (DigiCert or Sectigo). By default, if no authority can be reached, the batch stays unanchored and verification reports it as incomplete.

Privacy note: keeping plaintext out of the ledger reduces how much personal information OAIS processes. It does not by itself settle your obligations under PIPEDA, Quebec Law 25 or GDPR. Keyed fingerprints can still be personal information. Your privacy team should assess the deployment.

3. SDK wrappers

Sentinel wraps the client you already use, so application code changes very little. The examples below show the pattern. Which wrappers apply to your stack, and their exact package names in your release, are confirmed during scoping.

Microsoft Azure OpenAI

from oais_llm import SentinelAzureOpenAI

client = SentinelAzureOpenAI(
    azure_endpoint="https://your-org.openai.azure.com/",
    api_version="<your API version>"
)
response = client.chat.completions.create(
    model="<your deployment name>",
    messages=[{"role": "user", "content": "Evaluate pension duration risk..."}]
)
receipt = response.oais_receipt

Google Cloud Vertex AI

from oais_llm import SentinelVertexAI

client = SentinelVertexAI(project="your-gcp-project")
response = client.generate_content(
    model="<your Gemini model>",
    contents="Validate loan underwriting parameters..."
)
receipt = response.oais_receipt

Cohere and self-hosted models

from oais_llm import SentinelCohere

client = SentinelCohere()
response = client.chat(
    model="<your Command model>",
    message="Review municipal debt covenants..."
)
receipt = response.oais_receipt

Self-hosted models and applications in other languages connect through the reverse proxy described below. Support for a specific model server is confirmed during scoping.

4. CLI & reverse proxy

The sentinel command-line tool is included in the client package.

sentinel status

Shows the local workspace configuration and ledger state.

sentinel status

sentinel verify

Checks the ledger's Merkle structure and timestamps offline.

sentinel verify --db path/to/ledger.db

sentinel cert

Produces an evidence report (HTML and JSON) for internal audit and examiners.

sentinel cert --db path/to/ledger.db

sentinel cockpit

Starts a local dashboard (port 8501) for inspecting records and Merkle proofs.

sentinel cockpit --port 8501

sentinel proxy

Runs an HTTP reverse proxy so applications in any language can route model calls through Sentinel by changing their base URL.

export OPENAI_BASE_URL=http://localhost:8000/v1
sentinel proxy --port 8000

5. Regulatory fit

Sentinel produces evidence. It addresses the evidence and record-keeping part of these frameworks; the compliance determination stays with your institution and its auditors.

  • OSFI Guideline E-23 (model risk management, effective May 1, 2027): tamper-evident records of model use and policy interventions, with timestamps your auditors can verify independently.
  • EU AI Act, Article 12: supports the record-keeping expected of high-risk AI systems.
  • ISO/IEC 42001: supports the documentation and traceability an AI management system needs.

Planning a deployment?

Start with a scoping call. We'll map Sentinel to your AI systems and agree on a 30-day pilot.

Request a demo →