Steward

Signal capture and decisioning for enterprise customer operations.

One reviewable surface over an account portfolio for customer-operations, risk and revenue teams. Steward correlates account evidence and surfaces friction and expansion opportunities; every review an operator makes goes to Decionis, which makes, records and executes the decision.

License
Apache-2.0
Release
v0.3.0
Checked
2026-10-30

What stays with Decionis

Steward is not authoritative. An operator accepting a review cannot, by that alone, change a processing limit or a policy: Steward forwards the review, and Decionis decides, executes, and returns the resulting state with a Decision Dossier reference. The review control says as much on screen:

Records a review only; no downstream limit is changed.

  • Policy evaluation, with the customer_ops policy pack
  • Connector credentials and identity resolution
  • Execution grants, Decision Dossiers and the audit ledger
  • The authoritative record of every review

Run it

The image runs as a non-root user on port 3000, for linux/amd64 and linux/arm64, and is mirrored to docker.io/decionis/steward. It starts on fixture data.

Demo data

Deterministic fixtures and a “Demo evidence” badge in the top bar. A review returns a fixed result; nothing is stored and nothing downstream runs.

docker run --rm -p 3000:3000 ghcr.io/decionis/steward:0.3.0

Live data from Decionis

Reads your organization's portfolio through the Decionis API and needs a signed-in Decionis session. A failed live call is an error, never a fallback to fixtures.

docker run --rm -p 3000:3000 \
  -e STEWARD_DATA_MODE=live \
  -e DECIONIS_API_BASE_URL=https://api.decionis.com \
  ghcr.io/decionis/steward:0.3.0

From source (Node 20 or later, pnpm 9)

cp .env.example .env.local
pnpm install
pnpm dev

Image tags and settings

What it calls

Its backend calls four Decionis endpoints and keeps nothing itself: at v0.3.0 Steward has no database, no session store and no durable customer data. A review carries one of APPROVE, REJECT or HOLD.

GET  /v1/cdi/portfolio
GET  /v1/cdi/accounts/:accountId
GET  /v1/cdi/opportunities
POST /v1/cdi/opportunities/:opportunityId/reviews

For a security review

Threat model

The seven threats the design is built against, from forged roles to demo mode in production.

ThreatModel.md

Evidence pack

Common questionnaire rows mapped to the file or command that answers them, with the gaps stated.

EvidencePack.md

Reporting

Privately, through GitHub Security Advisories or to security@decionis.com.

SECURITY.md

Verify the image

gh attestation verify oci://ghcr.io/decionis/steward:0.3.0 --repo decionis/steward