Example apps & starters

The starter below runs against the open sandbox with synthetic data. Repository and package links identify developer artifacts only; no sample or reference application is evidence of customer adoption, accreditation, certification, or a production federation.

How to read this page. We are explicit about what each sample is, because a dead link or a 404 on npm install costs a developer all their trust:

  • Runnable starter — a copy-paste snippet (not a repo) you can paste into a terminal right now. It runs against https://phosra-api-sandbox-production.up.railway.app with no credential. Every response shown is verbatim from that live sandbox.
  • Clonable repo — a public GitHub repository you can git clone. We link only repos that actually exist (verified against the GitHub API while writing this page).
  • Published package — on the public npm registry. Versions are verified against npm view; pin the one you use.
  • Private / on-request — the native iOS & Android enforcement SDKs are distributed privately. We say so plainly and give you the contact, rather than show an install line that would 404.

Synthetic reference applications

Custo, Notflix, Bloxby, Snaptr, and Pixagram are test fixtures used to exercise UI and protocol shapes. They are not real providers or platforms, public customer deployments, accredited participants, or production traffic. Screenshots and traces from those fixtures are internal evaluation evidence only.

The 60-second starter

This is the smallest complete integration: mint nothing, create a protected child, enforce the policy, and read the result — the same four moves every Phosra integration makes. It is a snippet, not a clonable repo. It needs no API key because it targets the open sandbox.

  1. 1
    Prove the sandbox is up
  2. 2
    Create a family + child + active policy in one call
  3. 3
    Enforce the policy (async job)
  4. 4
    Poll the job to completion
bash
# A complete, runnable integration — paste the whole block into a terminal.
# No API key: this targets the open partner sandbox.
HOST="https://phosra-api-sandbox-production.up.railway.app"
BASE="$HOST/api/v1"
 
# 1 — health check (no key)
curl -s "$HOST/health"           # → {"status":"ok"}
 
# 2 — create a protected child; capture the child id
CHILD_ID=$(curl -s -X POST "$BASE/setup/quick" \
  -H "Content-Type: application/json" \
  -d '{"child_name":"Aria","birth_date":"2015-08-20","strictness":"recommended"}' \
  | jq -r '.child.id')
echo "child: $CHILD_ID"
 
# 3 — enforce → returns a job (status "running")
JOB_ID=$(curl -s -X POST "$BASE/children/$CHILD_ID/enforce" | jq -r '.id')
echo "job:   $JOB_ID"
 
# 4 — poll the job until it is "completed"
curl -s "$BASE/enforcement/jobs/$JOB_ID" | jq '{status, completed_at}'

Verbatim sandbox output (captured while writing this page — setup/quick returns 200, the enforce job flips to completed in well under a second):

jsonc
// POST /setup/quick — trimmed to the fields the starter reads
{
  "family": { "id": "ecf280b3-b684-4945-a694-18a4f566a450", "name": "Aria's Family" },
  "child":  { "id": "ef0ca46d-411e-4801-9a5d-a05dd599c093", "name": "Aria",
              "birth_date": "2015-08-20T00:00:00Z" },
  "policy": { "id": "fe8203da-00d5-45b9-bfa9-76f3f3227bdd",
              "name": "Aria's Protection Policy", "status": "active" },
  "rules":  [ /* 20 age-appropriate rules, enabled */ ]
}
 
// POST /children/{id}/enforce — the async job, immediately after the call
{ "id": "0eb048ce-497c-4193-ba32-5dc9a0894954", "status": "running", "trigger_type": "manual" }
 
// GET /enforcement/jobs/{id} — after polling
{ "id": "0eb048ce-497c-4193-ba32-5dc9a0894954", "status": "completed",
  "completed_at": "2026-07-06T11:22:04.645214Z" }

Add the sandbox webhook leg. The starter stops at "start simulation + read result." Register a test webhook to exercise delivery and signature-verification code. The handler examples live in Webhook events → Verifying signatures.

What the starter models in a reference app

The screens below are reference UI built over synthetic sandbox state. They demonstrate product copy and state transitions, not real platform enforcement or customer use.

Propagate iOS Family screen listing children Ruby and Mateo under a KIDS section, with the parent shown as Owner under a PARENTS section, and a bottom tab bar.
setup/quick, rendered for a human: a family with a child and a starter policy. The same call the starter's step 2 makes.
Propagate 'Connect Notflix' screen under a 'phosra · OCSS' header, listing four rules the platform will apply and verify, with a green Continue button and an honesty disclaimer.
The link ceremony — the app-side equivalent of pushing a policy to a platform. It states, up front, exactly which rules the platform will apply and confirm before anything turns green.
Propagate platform detail screen with a green shield 'Enforced' card, a Status section (Protection type Enforced, Connected date, Last sync 'Applied & verified just now'), and an Applied Rules list with green checkmarks.
A reference success state for a verified test signature. This screenshot is not evidence of production enforcement.

Want the full ten-phase lifecycle — link, unlink, per-service isolation, relink — with every request and response run live? See the End-to-end walkthrough.

The catalog

Public evaluation code you can inspect or clone:

GitHub organization page for Phosra-Inc showing two public repositories: 'touchstone' (TypeScript, MIT License) and 'phosra-link-kit-ios' (Swift), each marked Public.
The public Phosra-Inc GitHub organization — the two example repositories in the catalog below are real and clonable. Captured from github.com.

Clonable repos

Run without cloning — one-command samples

Each of these runs a real integration from a single command against the sandbox.

Every published package

All verified against the public npm registry while writing this page — pin the version you use.

PackageVersionSample it powersDocs
@phosra/sdk0.1.0Typed control-plane client — the 60-second starter, but typedTypeScript SDK
@phosra/mcp0.4.0MCP server for AI agents (npx @phosra/mcp)MCP Server
@phosra/cli0.2.0Sandbox round-trip + scaffolding (npx @phosra/cli)CLI
@phosra/link0.6.1Public consent ceremony + signed rule-write SDK; Golden 0.7.10 is a private candidateLink
@phosra/connect0.1.1Embeddable Connect component (web + React Native)Link
@phosra/gatekeeper0.7.0Public platform SDK; Golden 0.8.7 is a private candidatePlatform
@openchildsafety/ocss0.1.5Public OCSS reference library; 0.1.6 is a private candidateDeveloper SDK
@openchildsafety/provider-harness0.1.3The touchstone conformance harness aboveProvider

No @ocss/* scope exists. The open standard's library ships under @openchildsafety/*, and the Phosra client libraries under @phosra/*. If you see an @ocss/… install line anywhere, it is wrong — it will 404 on npm.

Private / on-request

The native on-device enforcement SDKs are not on a public registry yet — we distribute them privately rather than show an install line that would fail.

SDKStatusHow to get it
iOS enforcement SDKPrivate repoiOS SDK · email [email protected]
Android enforcement SDKPrivate (not on Maven Central)Android SDK · email [email protected]

The iOS Link kit (phosra-link-kit-ios) — the Connect sheet — is public and in the catalog above. The separate iOS enforcement SDK (the one that drives FamilyControls / ManagedSettings on-device) is the private one.

Reference provider integrations

The sandbox ships a built-in synthetic reference provider that powers the OAuth consent page you meet in the Connect a platform guide and the sandbox walkthrough. It exposes test /oauth/authorize, /oauth/token, and /oauth/profiles endpoints with fixed demo child profiles (Mia, Leo, Ava), so you can drive a complete connect ceremony against the sandbox without standing up your own provider.

The brand names in walkthrough screenshots are stand-in labels. They do not identify real integrations, customers, or independently accredited providers.

Next steps