nsr-server.
nazarae-1 is a decision authority, not a text generator. Every answer is approved,
denied, or refused with cited rules, a replayable derivation, and a SHA-256 policy pin — or
a refusal that names the exact missing_facts.
Onboarding
Onboarding is card-optional: a three-step wizard covering org creation, payment, and a one-time key reveal. Signup routes through hosted WorkOS AuthKit. New orgs get an activation checklist on the dashboard, and the quickstart curl is designed to return a grounded approval on the first call rather than a refusal, so the first experience demonstrates the system working.Free trial
FREE_TIER_DECISIONS (default 100) lets an org make N billable decisions before the
billing gate applies. The gate reads the org’s cumulative billable count and allows while
used < N. Setting it to 0 disables the trial, requiring a card up front.
On subscribe, the usage watermark is advanced to the current total, so trial decisions are
never metered.
Non-billable decisions never advance free-tier usage. If the stats endpoint is briefly
unavailable the trial fails open, so a new user isn’t blocked by a transient outage — while
a subscribed org’s status check still fails closed to 503.
Billing
$0.05 USD per billable decision, billed monthly in arrears, via Stripe Elements.
Usage is reported by an hourly job that pulls each org’s cumulative billable count from
/v1/decisions/stats and pushes the delta as a meter event. Checkpoints live in customer
metadata, making it crash-safe.
The reporter never double-bills. If the cumulative total ever shrinks — a stats anomaly or
a retention trim — it reports nothing and holds the checkpoint rather than rolling it down. A
genuine permanent shrink under-bills until the count re-crosses the held checkpoint. This is a
deliberate tradeoff: never double-bill beats never under-bill.
Environment
One-time setup per Stripe mode
STRIPE_SECRET_KEY=sk_… npm run billing:bootstrap— creates the meter, product, and price. Idempotent.- In the Stripe dashboard, add a webhook for
customer.subscription.*,invoice.paid, andinvoice.payment_failed, and put the signing secret inSTRIPE_WEBHOOK_SECRET. - Add the environment variables to the BFF deployment.
Console
Four surfaces, each doing something the API alone makes awkward.Playground
Sends a decision and shows the whole verdict envelope — the proof, the derivation, which org evidence was used, the policy pin, and the GSS grounding — rather than just the verdict. A refusal is not a dead end here: it names themissing_facts, and one click asserts them and re-runs, with the session
transcript visible so you can see what changed the answer.
It opens with a primer on how to read a proof, because the output shape is
unfamiliar to anyone arriving from chat-style LLMs.
Import policy
Drag in a PDF, DOCX, TXT, MD or CSV. Rules are mined in the browser, each carrying provenance back to the passage it came from, then linted, uploaded and smoke-proved before they are live.Mining runs client-side, so the source document is not uploaded — only the
rules you accept are. That matters when the policy you are importing is a
contract or an internal SOP you would rather not hand to a service.
Dashboard, Decisions and Usage
A health-verified connection, live analytics over recent decisions, and the verified-decision curl quickstart. This is where the calibration curve and the refusal roadmap surface once outcomes are flowing.API keys
Create org-scoped keys with their scopes and an optional rate limit, against/api/v1/auth/keys. The secret is revealed once — the console offers to
adopt it as its own credential in one click at that moment, which is the only
time it can. Revocation is inline and immediate.
Proving it works
The console ships its own evidence tooling rather than asking you to trust it.Running locally
For agents
A machine-readable index is served at/llms.txt.
Related
- NSR as a Model Provider — Claude Code, Codex, OpenCode
- Verified Decisions API
- Neuro-Symbolic Architecture