Skip to main content

Conto Card Access

Card Access is a maintenance-only private fallback. Conto is not onboarding new deployments; new connected-card work uses the shared Cards product and Basis Theory provider path. This page remains available for existing pilot recovery and historical integration reference.
Conto Card Access is a customer-hosted payment gate for agents that use an existing customer-owned card. Conto evaluates purchase policy and atomically claims the approval before the customer’s payment executor can run. The package remains private and is not available for new customer installation.
Conto Card Access does not make an existing card non-bypassable. The card can still be used outside the controlled agent path, so every Card Access result reports canBypass: true.

What Card Access Controls

Card Access uses the external-card policy overlay as its policy backend. It does not rename or replace the overlay, checkout relay, or card issuing.

Dashboard

Former pilot organizations can use the direct recovery workspace to review retained claims and reconciliation work. Card Access has been removed from normal navigation, and the global new-spend gate is closed. Cards is the forward product surface for provider-connected cards.

Historical assignment controls

These controls remain documented for prior pilot evidence. New assignments are disabled while the global gate is closed. In an explicitly approved maintenance environment, operators could start from either surface:
  1. Open an agent and select Card Access, then choose Assign alias.
  2. Open Conto Card Access, find an alias, then choose Assign agent.
An assignment can set per-transaction, daily, weekly, and monthly limits; allowed days and hours; merchant and MCC allow or block lists; and optional start and end dates. Conto stores only the alias and masked card details. Assignment lifecycle states are explicit: Claimed purchases remain visible for confirmation or reconciliation after a pause or revocation. Every assignment change is written to the Conto audit log. Use the admin SDK for the same lifecycle:

Request Path

The customer payment endpoint must be the agent’s only payment tool. Do not import the credential store or executor into the agent process.

Human Review

When a matching policy requires human approval, Card Access creates a pending purchase intent without reserving spend or issuing an execution grant. A user with transaction approval permission can approve or reject the intent in Conto Card Access. Approval rechecks the current card, assignment, schedule, limits, and merchant policy before Conto reserves spend. If the recheck passes, Conto creates a five-minute execution grant. The agent retries the same purchase with the same idempotency key to claim that grant and continue. The customer executor cannot run while review is pending. Pending reviews expire after 24 hours. Pausing the alias or pausing or revoking the assignment cancels its pending reviews.

Create Card Access

The executor receives the approved merchant and amount. It does not receive the Conto approval token. Card Access rejects likely card numbers, credential fields, secrets, and tokens before sending a purchase intent to Conto.

Expose the Agent Tool

Use the framework-neutral handler from the package:
Authentication and a receipt serializer are required. Raw processor responses are never returned by default. Card Access scans the serialized receipt and rejects sensitive fields or likely card numbers before responding to the agent.

Start from the Reference Gateway

The package includes examples/node-server.mjs, a runnable Node gateway with an authenticated POST /card-access/pay endpoint. It calls a private customer executor only after Card Access has claimed a live grant. The private executor resolves the Conto alias to the customer-owned credential and must not be reachable by the agent. After deploying the gateway, run the included non-charging checks:
The checks verify authentication, allowed methods, malformed input handling, and credential rejection. Every authenticated probe is invalid before policy evaluation, so the conformance run does not create a purchase intent or call the customer executor.

Run a non-charging staging pilot

The reference deployment includes a container image and Compose stack. It builds the SDK and Card Access from the same source commit and runs a private executor that returns deterministic mock receipts without resolving or charging a card.
Copy packages/card-access/examples/staging.env.example outside the repository and replace every placeholder before launch. The gateway provides redacted JSON logs, authenticated operational alerts, bounded request and upstream timeouts, readiness draining, and graceful shutdown. The non-charging executor has no host port and is available only on its internal container network.
The included executor is staging-only and cannot charge a card. Replace it with the customer’s private, credential-owning payment service before a real payment test. Card Access remains canBypass=true in either deployment.

Handle Uncertain Confirmation

If payment code runs but confirmation to Conto fails, Card Access raises ContoCardAccessConfirmationPendingError. Persist the receipt and confirmation input securely. Retry only cardAccess.retryConfirmation(error). Never execute the purchase again.

Production Checklist

  • Remove raw credentials from agent prompts, tools, environment variables, and readable logs.
  • Remove all uncontrolled payment tools from the agent.
  • Keep the executor private to the customer-hosted service.
  • Authenticate every request to the Card Access endpoint.
  • Use one stable idempotency key per purchase intent.
  • Retry that same intent only after a pending human review is approved.
  • Filter receipt fields returned to the agent.
  • Reconcile confirmation-pending executions.
  • Pause or revoke stale agent assignments and review the assignment audit trail.
  • Keep the organization allowlisted until every open request is resolved.