Human trust infrastructure for autonomous software

Let software act. Keep a human on the decisions that matter.

Before an AI agent, workflow or internal tool does something risky, it asks Orbis. Deterministic policy decides in milliseconds; high-impact actions go to a verified human on iPhone; every decision comes back with a signed receipt.

<20ms
policy decision
90%
stays autonomous
0
LLM calls to enforce
Orbis gateway · livePOST /v1/decisions/preflight

This is the production policy engine running in your browser on the default Northstar policy pack.

Authentication proves who logged in. It doesn't say whether this action is OK right now.

Software now acts

Agents send email, move money, deploy, export data and grant access — not just recommend.

Approvals are fragmented

Every app builds its own approve button, so governance and audit fall apart across systems.

Block all or allow all

Block everything and automation is useless. Allow everything and autonomy is dangerous.

How it works

One question before every risky action: may I do this?

Orbis sits between software intent and execution. Safe work stays automatic; only genuinely ambiguous or high-impact actions reach a person.

01
Propose

Your app, agent or workflow calls preflight with actor, action, resources, destination and intent — redacted, never raw payloads.

02
Decide

Versioned, deterministic policy returns allow, warn, deny or approval_required in milliseconds. No LLM in the enforcement path.

03
Escalate

High-impact actions go to the right human's iPhone with evidence, blast radius and a safe alternative. Face ID when policy says so.

04
Prove

Your code executes only what was authorized, reports the outcome, and keeps an Ed25519-signed receipt anyone can verify.

orbis.preflight(action) →
allow · execute now
approval_required · iPhone
deny · never executes
Try the engine

This is the real policy engine. Push it.

Change the action, the data class, the destination or the context and watch the same deterministic engine that runs the gateway decide — with the exact rule and risk factors behind every answer.

Proposed action
Data classification
Destination
Context
Pause for a human
Paused. A verified human decides on iPhone.
65
risk · high
Deciding rule
Confidential data → unapproved AI provider
Confidential data would leave the approved AI trust boundary.
Confidential data egress · v17 · Require approval
AI governance Face ID step-up
Redirect to Approved Internal Model. Run the same task on Northstar Private LLM (us-east-1, zero retention, SOC 2 boundary).
Risk factors (prioritise & route — never override)
  • Sensitive data leaving the trust boundary+30
  • New or untrusted destination+15
  • Hard to reverse once executed+10
evaluated in 150µs · 1 rule matched · deterministic, no model call
Orbis iOS

Not a tiny admin dashboard. A trusted decision terminal.

Native SwiftUI. Understand any decision in five seconds — what, who, why, risk — then approve, edit, redirect or reject with Face ID.

Five-second comprehension

Action verb first, actor, intent, risk with reasons — evidence progressively disclosed.

Face ID step-up

LocalAuthentication proves presence on a registered device. The server still verifies assignment, state and expiry.

Safe alternatives

Redirect to the private model, pay a $1 verification deposit, issue a service credit — not just yes or no.

Emergency freeze

Control tab freezes a misbehaving agent; every next gateway call is denied until an admin restores it.

Nothing sensitive in push

Notifications carry a title and a deep link. High-risk approvals never complete from a notification.

Protect

Share a link, scan a QR, or select a screenshot and get an explainable verdict before you click or pay.

9:41

Interactive — tap “Redirect safely”.

The native app

SwiftUI, Keychain, LocalAuthentication and deep links — running against the same live gateway as this site. Unedited simulator captures.

Inbox — paused actions, highest risk first
Inbox — paused actions, highest risk first
Decision — evidence, policy, safe alternative
Decision — evidence, policy, safe alternative
Control — freeze a misbehaving agent
Control — freeze a misbehaving agent
Use cases

One reusable decision layer for every system that can act.

Build one generic integration, not fifteen bespoke approval screens. These all run in the Northstar Cloud demo tenant today.

AI agent tool calls

Procurement agent sends confidential contracts to an unapproved model → paused, redirected to the private LLM.

Finance & payouts

$84,000 to a vendor created two days ago with a fresh bank change → controller + Face ID.

Customer support

AI refund of $8,500 after an outage → manager edits to the contractual $8,160 and approves.

Production change

Hotfix outside the change window during an incident → on-call sees diff, tests, rollback, blast radius.

Privileged access

30-minute DB admin → manager approval, step-up, auto-expiry and a receipt.

Data governance

Bulk export of 120k customer records → blocked by default; exception needs data owner + security.

Sales communications

Agent emails non-public pricing → sales leader approves or auto-redacts restricted sections.

Regulated data

Release of patient records to a partner → privacy officer, purpose and scope logged.

Operations

Maintenance AI recommends stopping a chiller line → site manager sees sensors and a reduced-load alternative.

Social engineering

Employee scans a parking QR or forwards a “CEO” text → explainable verdict before anyone clicks or pays.

Emergency response

An agent's volume spikes 14× → one tap on iPhone freezes it; the gateway denies every next call.

Your system next

Preflight API, Approval API or observe-only events — start with visibility, graduate to enforcement.

Read the docs
The launch film · v2

A model that can ask for a human.

Missed v1? Watch the original launch film (40 s).

Live from the Northstar Cloud demo tenant · last 28 days · computed from real decision events
0
protected actions
0%
stayed autonomous
0s
median human decision
$0
held back by policy & people
0%
risky actions redirected, not just blocked
Developers

Fifteen minutes to the first protected action.

TypeScript, Python and Swift SDKs. Typed envelopes, idempotent requests, webhook signatures, and an SDK that never executes your action for you.

agent/tools.ts
const decision = await orbis.preflight({
  actor:       { type: "agent", id: "procurement-agent" },
  action:      { type: "external_send", tool: "llm.summarize" },
  resources:   [{ type: "document", classification: "confidential", count: 4 }],
  destination: { type: "external_model", value: "quickscribe-ai.app" },
  intent:      { reason: "Summarize vendor contracts for RFP" },
});

if (decision.isAllowed()) await execute();
else if (decision.requiresApproval()) {
  const final = await decision.waitForResolution({ timeoutMs: 600_000 });
  if (final.approved) await execute(final.approvedParameters);
}
Three integration patterns

Preflight before acting, explicit Approval API, or observe-only events to start with visibility.

Agent adapter

Wrap tool calls once; denials surface to the agent as errors it can reason about. Safe redirects re-plan automatically.

Production patterns

Idempotency keys, retries with backoff, HMAC-signed webhooks with replay windows, SSRF-safe callbacks.

Evidence

Audit logs say “approved.” Receipts prove it.

Every final decision produces a receipt bound to the exact policy version, evidence hash, approver, device step-up and downstream outcome — signed with Ed25519. Verify this real one from the demo tenant right here, then try tampering with it.

WhoActor, calling integration, approver identity, role and registered device
WhatEnvelope hash, normalized summary, original vs. approved parameters
WhyPolicy ID + immutable version + deciding rule + risk features
ProofSHA-256 body hash, Ed25519 signature, revision chain linking the outcome
Verify any receipt

Independent verification

Runs in your browser with WebCrypto — no trust in this server's word required.

Verifying…
Signature · Ed25519
brW6A5xx149W2EEAwrGu_0UdMF7d_wOVhbTABHQxFw5e_c4SDc1gbEYLC6RzDNw3rwnQeCHYzpwESDEQJUmHDA
{
  "receipt_id": "rcp_SxTWBDeOaYb9",
  "revision": 2,
  "tenant_id": "ten_northstar",
  "decision_id": "dec_OgM2qabxye0V",
  "action_id": "act_yuJhjaM91l9x",
  "request_id": "req_hero_mvdnmf40",
  "issued_at": "2026-10-18T10:01:01.000Z",
  "caller": {
    "integration_id": "int_procurement",
    "integration_name": "Procurement Agent"
  },
  "actor": {
    "id": "procurement-agent",
    "type": "agent",
    "owner": "finance"
  },
  "action": {
    "type": "external_send",
    "tool": "llm.summarize",
    "title": "Send 4 contracts to external AI",
    "summary": "4 confidential vendor contracts (MSA + 3 SOWs) for summarization"
  },
  "envelope_hash": "9a21563ddc591d0291bbc1dfa6058da46f26f9af6c503d95cfa8680c4ed7b991",
  "policy": {
    "id": "pol_conf_external",
    "version": 17,
    "rule_id": "ext_model_confidential"
  },
  "policy_versions": [
    {
      "policy_id": "pol_conf_external",
      "version": 17
    },
    {
      "policy_id": "pol_payments",
      "version": 9
    },
    {
      "policy_id": "pol_refunds",
      "version": 5
    },
    {
      "policy_id": "pol_prod_change",
      "version": 12
    },
    {
      "policy_id": "pol_privileged_access",
      "version": 7
    },
    {
      "policy_id": "pol_bulk_export",
      "version": 4
    },
    {
      "policy_id": "pol_sales_comms",
      "version": 3
    },
    {
      "policy_id": "pol_regulated",
      "version": 6
    },
    {
      "policy_id": "pol_ops_safety",
      "version": 2
    },
    {
      "policy_id": "pol_agent_guardrails",
      "version": 11
    }
  ],
  "risk": {
    "score": 50,
    "level": "high",
    "reasons": [
      "sensitive_external",
      "irreversible"
    ]
  },
  "enrichment": {
    "used": true,
    "model": "orbis-edge-risk@1.0.0",
    "feature_schema": "edge-features/1",
    "policy_version": "1.0.0+cal1",
    "source": "local+cloud",
    "class": "high_risk",
    "risk": 1,
    "abstain": false,
    "fusion_rule": "deterministic_approval_wins"
  },
  "decision": {
    "status": "approval_required",
    "effect": "require_approval",
    "final_status": "approved_modified"
  },
  "approvals": [
    {
      "user_id": "usr_avery_kim",
      "name": "Avery Kim",
      "decision": "safe_alternative",
      "step_up": "biometric",
      "device_id": "dev_avery_kim",
      "at": "2026-10-18T10:00:48.000Z",
      "channel": "ios"
    }
  ],
  "original_parameters": {
    "destination": "summarizr.io",
    "documents": 4,
    "model": "gpt-class external"
  },
  "approved_parameters": {
    "destination": "northstar-private-llm",
    "documents": 4,
    "model": "gpt-class external"
  },
  "safe_alternative_applied": "redirect_internal_model",
  "timestamps": {
    "received_at": "2026-10-18T10:00:00.000Z",
    "decided_at": "2026-10-18T10:00:00.011Z",
    "resolved_at": "2026-10-18T10:00:48.000Z"
  },
  "outcome": {
    "status": "succeeded",
    "reported_at": "2026-10-18T10:01:01.000Z"
  },
  "prev_hash": "f8c9a57fec9c8253e099b0c66b6a8eb4cf707365679dc6fde8d2fa5e3aa93ef0"
}
Protect

“Is this safe?” — answered with evidence, not vibes.

Two models trained from scratch on public datasets — a hostname phishing classifier (ROC-AUC 0.91, 271,078 hosts) and a scam-message classifier (F1 0.95) — fused with explainable rules and your company's policy. Only content you explicitly share is analyzed.

Runs the same from-scratch models used in the Orbis iOS app. Nothing you paste here is stored.

Check before you click, pay or reply

A recommendation with evidence and Northstar policy — not a generic chatbot answer.

Endpoint intelligence · v2

A model that can ask for a human. Never one that can approve.

Orbis now runs its own trained risk model on the endpoint. It reads metadata only — destinations are hashed on the device — and adds a calibrated signal that can raise an action to review. Deterministic policy still decides.

100%

risky actions escalated on the hand-written gold set

0.24%

safe actions sent to a human (held-out test)

57 µs

p95 on-device inference · Core ML on Apple M4 Pro

19/19

release gates passed before it could ship

  1. 01
    Dataset

    33k versioned events · held-out actors & days · immutable gold set

  2. 02
    Train & select

    rules → logistic → trees → MLP, chosen on a security cost matrix

  3. 03
    Gate

    recall, false-positive budget, calibration, parity, latency, adversarial

  4. 04
    Ship to the Mac

    Ed25519-signed manifest → hash check → compile → atomic swap

  5. 05
    Operate

    drift, review queue, retrain → candidate. Never auto-promotes

Open the model console Measured, not promised: 30,000 events over 10 minutes at 2.5% of one core. Synthetic training data — limitations are on the model card.
Principles

Deterministic policy owns enforcement.

AI may summarize evidence, classify intent and recommend. It never silently overrides a hard deny, a threshold, a role requirement or a tenant control.

Tenant isolation

Tenant derives from the credential — never the payload. IDOR and cross-tenant tests in CI.

Server is the authority

Approvals verify assignment, state, expiry and step-up proof before any mutation.

Metadata, not payloads

Redacted summaries and classifications. No secrets or raw content in logs, traces or push.

Keys & webhooks

Keys hashed at rest and scoped. Webhooks HMAC-signed with timestamp replay protection.

Tamper-evident

Hash-chained audit trail and signed receipts with revision chains.

Immutable policy

Published versions never change. Drafts are simulated and co-signed by a second admin.

Kill switch

Freeze any actor instantly; pending approvals are cancelled and audited.

Works without an LLM

Core allow/deny/approval keeps working if every model provider is down.

Pricing

Priced on protected automation — never per approver.

Platform fee plus decision volume. Usage metering is computed after enforcement and can never change a decision.

Developer
Free
Proofs of concept
  • 1 tenant + sandbox
  • 3 integrations
  • 5k decisions / month
  • Basic mobile approvals
Start with the demo
Team
$900
per month · AI & platform teams
  • Production gateway
  • Policy Studio + simulator
  • Audit trail & receipts
  • 50k decisions / month
Start with the demo
Business
$3,500
per month · mid-market
  • SSO, advanced routing & quorum
  • Analytics & retention controls
  • 250k+ decisions
  • Priority support
Start with the demo
Enterprise
Custom
Regulated & large orgs
  • SCIM, custom region & retention
  • Private networking
  • Audit export packages
  • Dedicated limits & SLA
Talk to us

Safe software stays autonomous. Risky software asks first.