Security and safety
Controls are enforced by the server, not left to the model's judgment.
Tool descriptions and annotations help an AI client behave well. Barvinca does not treat those hints as security. Authorization, validation, approval, execution, accounting, and evidence checks happen behind the MCP boundary.
Encrypted, bounded transport
HTTP redirects to HTTPS at Cloudflare's edge. TLS 1.2 is the minimum and TLS 1.3 is enabled, with HSTS, no-store responses, strict Origin validation when a client supplies an Origin, a 1 MiB request limit, and separate edge, token, and OAuth abuse limits.
Resource-bound private backend
Every grant is bound to the exact MCP resource, registered OAuth client, Barvinca user, and ACC account. The public MCP Worker reaches the platform through a private Cloudflare service binding, and Autodesk credentials never become MCP bearer tokens.
OAuth without pasted secrets
Remote clients use authorization-code OAuth, Dynamic Client Registration, and S256 PKCE. Implicit flow, plain PKCE, and token-exchange grants are disabled.
Least-privilege consent
barvinca.read, five ACC domain-read scopes, and barvinca.write are independent. Read-only access is never silently upgraded to write.
Tenant and project binding
The ACC account must match the one verified for the Barvinca session. Live domain reads also verify that the requested project belongs to that account.
No raw API escape hatch
The hosted MCP catalog contains supported Barvinca workflows. It does not expose an arbitrary URL, method, headers, or generic Autodesk HTTP request tool.
Bounded data access
List and evidence calls return at most 50 records per page. Sensitive or high-volume domain fields are intentionally excluded, and clients must follow explicit cursors.
Approval cannot drift
Mutation review produces a SHA-256 approval digest for an immutable, expiring plan. Execution rejects the wrong account, changed plan, expired plan, or mismatched digest.
Safe replay and cancellation
Idempotency prevents duplicate dispatch and duplicate CREDS charges. Cancellation refunds items proven not to have reached Autodesk while treating uncertain in-flight outcomes conservatively.
Evidence and recovery
Owned operations expose outcomes, approval lineage, CREDS reconciliation, bounded event history, private exports, workflow health, staleness, and the safest next action.