persona-api (Sancio)
Digital Persona API — private deployment for VPS.
Sancio is the runtime that serves the Claude-powered digital
persona behind munio.ai-king.dev. It wraps Anthropic's Claude
API with:
- Bearer auth (JWT HS256) on every RCE-capable endpoint.
- Per-user daily + monthly USD budget caps (
persona.budget). - Tenant workspace sandbox for tool calls.
- GDPR Art 15/17 data-subject endpoints (
/v1/gdpr/*). - U.S. EAR geo-block middleware (returns HTTP 451 for embargoed regions).
- A2A (agent-to-agent) protocol for peer invocations.
See CHANGELOG.md for the version history.
Export Control Notice
This software dispatches requests to the Anthropic Claude API,
which is subject to U.S. Export Administration Regulations (EAR)
and OFAC sanctions. Users are responsible for compliance with
applicable export control laws. This software is not for use
in embargoed or sanctioned jurisdictions, including but not
limited to Cuba, Iran, North Korea, Syria, and mainland China.
The default GeoBlockMiddleware blocks requests from these
regions at the ASGI layer; operators are expected to add a
matching Cloudflare WAF firewall rule as the primary gate. See
docs/export-control.md for the runbook.
Privacy
Sancio is designed to comply with GDPR as a data controller
for EU users under Art 3(2) territorial scope. The machine-
readable privacy policy is served at GET /v1/privacy; the
Record of Processing Activities lives at docs/ropa.md.
Data-subject rights:
- Art 15 access —
POST /v1/gdpr/export - Art 17 erasure —
POST /v1/gdpr/delete
Contact: privacy@ai-king.dev.
Deploy
VPS 5.104.83.69 is the single source of truth. No local Docker.
See RELEASE_COORDINATION.md for the upgrade protocol.
License
persona-api (Sancio) is dual-licensed under:
- GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later) — the default. Use, modify, and redistribute freely, including over a network, provided you comply with §13 (network-use disclosure of complete corresponding source). See LICENSE.
- Commercial License — for organizations that cannot or will not comply with AGPL §13 (most commercial SaaS deployments) or whose internal policy bans AGPL-licensed dependencies. See COMMERCIAL_LICENSE.md for tiers, pricing, and contact.
Differentiation note. persona-api hosts the Cerno 7-step maternal-agent cycle that does not exist in upstream Concinno — sense → orient → guard-budget → think → act → verify → consolidate. The Cerno cycle is a separate trade-secret-protected derivative work; commercial licensees of persona-api also receive the right to deploy the Cerno cycle in production. See COMMERCIAL_LICENSE.md § "What's Included" for the full delta.
L6 PostToolUse — observation-channel deny + Pre-hook escalation.
Sancio 2.0.0 closes the CC SDK April 2026 surface gap (updatedToolOutput
ConfigChange) and reframes the long-standing "L6 hard deny" promise. CC's L6 ceiling — "PostToolUse cannot block tool execution" — is a physics constraint, not an implementation choice (see anthropics/claude-code#32105). Oncetool.execute()returns, side effects exist; no runtime can magic-undo them. What Sancio uniquely owns is observation-channel deny + Pre-hook escalation: a post-hook can replace the LLM-visible tool result withis_error=True(CC'supdatedToolOutputrewrites silently — no error flag) AND mutate the pre-hook policy state so iteration N+1 hits a real PreToolUse hard-deny on the next attempt. Both mechanisms compose with the newConfigChangeEventwatcher for live-reload of policy DSL. Seedocs/migration-1.3-to-2.0.mdfor the migration guide and_AI_BRAIN/05_Planning/2026-05-01-l6-posttooluse-design-conflict-options.mdfor the Option C verdict.
Trademarks. "Sancio", "Cerno", "Concinno", "ZIQ", "FieldRead", "PSYCHE", and "TACB" are trademarks of Chen Syuan Wang (王晨宣 / AI King). AGPL grant does not include trademark rights.
Sole copyright. All persona-api / Sancio / Cerno copyright is held by Chen Syuan Wang as sole author. For acquisition or strategic partnership discussions: me@ai-king.dev.
Metadata
Release files for persona-api 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| persona_api-2.2.0.tar.gz | 470.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| persona_api-2.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 823.9 kB
Release files / persona_api-2.2.0.tar.gz
| Download URL | persona_api-2.2.0.tar.gz |
|---|---|
| Size | 470.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
903f7b25900503c01c4b64eeae6b62abfe5a3b3c2b585d15786772bbca3d6f5f
|
|
BLAKE2b-256 checksum How to use checksums |
273d7e7eee739d4f92b0c47f85b9384d6b52080717d0f0a2dd06d6717d92d205
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / persona_api-2.2.0-py3-none-any.whl
| Download URL | persona_api-2.2.0-py3-none-any.whl |
|---|---|
| Size | 353.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
00ff5dd2c1d3e0c255a8a98bd2d26167959e78c32f4e4281246864583e38b9d2
|
|
BLAKE2b-256 checksum How to use checksums |
6f24bdacfb5616786fecda0c08ddb10439a691c3da53269b9e9bfd6a2069320a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|