Scenarios

Common patterns for how kubbi fits into real workflows. Each scenario involves two actors separated by a real gap — a different organisation, network, toolchain, or time cycle.


Core patterns

Scenario 1: Burn-After-Read Handoff

Actor A (an AI agent) finishes a task and needs to pass credentials to Actor B (another agent). The data should only be read once, then destroyed.

StepWhoAPI CallWhat Happens
1Actor A (producer)POST /api/v1/kubbisCreates kubbi with max_retrievals: 1. Gets back a claim_url.
2Actor ASends claim_url to Actor BOnly the URL travels — no sensitive data in transit.
3Actor B (consumer)GET /r/:claim_tokenInspects metadata (content type, expiry) without consuming.
4Actor B (consumer)POST /r/:claim_token/claimGets the decrypted payload. Payload is immediately wiped. burned: true.

Scenario 2: Multi-Read Shared State

A pipeline produces an intermediate result that 3 downstream steps all need. The data should live for 1 hour, then disappear.

StepWhoAPI CallWhat Happens
1Orchestrator (producer)POST /api/v1/kubbisCreates kubbi with max_retrievals: 3, ttl_seconds: 3600.
2OrchestratorFans out claim_urlEach of Step A, B, C gets the same URL.
3Step A (consumer)POST /r/:claim_token/claimGets payload. retrieval_count → 1.
4Step B (consumer)POST /r/:claim_token/claimGets payload. retrieval_count → 2.
5Step C (consumer)POST /r/:claim_token/claimGets payload. retrieval_count hits 3 = max_retrievals. Payload burned.

Scenario 3: Producer Cancels Early

An actor creates a kubbi for another system, but the downstream task gets cancelled before the data is picked up.

StepWhoAPI CallWhat Happens
1Actor (producer)POST /api/v1/kubbisCreates kubbi with ttl_seconds: 600. Stores kubbi_id.
2ActorSends claim_urlExternal system has not claimed yet.
3Actor (producer)DELETE /api/v1/kubbis/:kubbi_idkubbi set to deleted, payload wiped immediately.
4External systemPOST /r/:claim_token/claimGets 410 Gone. No data leaked.

Scenario 4: Multi-File Package Handoff

A deployment pipeline needs to pass config, instructions, and a binary artifact to an air-gapped build agent. All three must arrive together as one atomic handoff.

StepWhoAPI CallWhat Happens
1Pipeline (producer)POST /api/v1/kubbisCreates a package kubbi with files[] containing config.json, instructions.md, and artifact.tar.gz (base64-encoded). Gets back a claim_url.
2PipelineSends claim_url to build agentOnly the URL travels. The three files stay encrypted in kubbi.
3Build agent (consumer)GET /r/:claim_tokenInspects the file manifest — sees names, types, sizes, and roles without consuming.
4Build agent (consumer)POST /r/:claim_token/claimGets all three files in a single response. Text files as UTF-8, binary as base64. Payload burned.

Real-world use cases

Research agent → third-party summarisation service

Producer

Autonomous research agent (Company A)

Consumer

AI summarisation service (Company B, separate org)

Payload

Raw research findings (~80 KB JSON)

TTL / reads

30 min, max_retrievals: 1

Company A's research agent drops findings into a kubbi and POSTs only the claim URL to Company B's inbound webhook. Company B's summariser claims the kubbi when it runs. Neither company's system ever holds the other's data directly.

On-premise ETL → cloud analytics agent

Producer

On-premise ETL pipeline (corporate firewall)

Consumer

Cloud-hosted analytics AI agent (AWS)

Payload

Transformed financial dataset (CSV, ~500 KB)

TTL / reads

2 hours, max_retrievals: 1

The ETL job, which has outbound HTTPS access, creates a kubbi and writes the claim URL into a shared job-tracking database. The cloud agent polls for the URL, claims the kubbi, and processes the dataset.

CI/CD pipeline → air-gapped build agent

Producer

GitHub Actions workflow

Consumer

Air-gapped build agent (isolated network)

Payload

Code-signing certificate and private key (PEM)

TTL / reads

5 min, max_retrievals: 1

The pipeline creates a kubbi, injects only the claim URL into the build job's environment variables. The build agent claims the certificate when needed. The 5-minute TTL ensures cleanup even if the build never starts.

Cron job → async reporting agent

Producer

Cron job running at 00:00

Consumer

AI reporting agent running at 06:00

Payload

Weekly aggregated usage statistics (JSON)

TTL / reads

4 hours, max_retrievals: 1

The cron job drops stats into a kubbi and records the claim URL in a jobs table. The reporting agent claims it hours later. No shared in-memory state or schema coordination needed.

Security analyst → automated triage agent

Producer

Human security analyst (internal tooling)

Consumer

Automated triage agent (separate security platform)

Payload

Decrypted incident report with IOCs

TTL / reads

20 min, max_retrievals: 1

The analyst's tool creates a kubbi and sends only the claim URL to the triage platform's inbound API. The triage agent claims the report, processes the IOCs, and the report is burned.

Mobile app → backend verification service

Producer

Mobile app (iOS/Android)

Consumer

Backend identity verification microservice

Payload

Signed biometric attestation token

TTL / reads

90 sec, max_retrievals: 1

The app creates a kubbi with the attestation token and sends only the claim URL in its request to the backend. The 90-second TTL makes replay attacks impractical.

Partner org → onboarding agent

Producer

Partner organisation's ops team

Consumer

Customer onboarding AI agent

Payload

API keys, tenant config, private certificate

TTL / reads

1 hour, max_retrievals: 1

The partner creates a kubbi and sends the claim URL via a standard channel. The onboarding agent claims the payload during provisioning. Secrets are burned immediately after claim.

AI agent → human reviewer

Producer

AI agent mid-workflow

Consumer

Human domain expert (reviews asynchronously)

Payload

Draft output requiring approval (~5 KB JSON)

TTL / reads

Short TTL, max_retrievals: 1

The agent drops its draft into a kubbi, records the claim URL in a task system, and terminates. The reviewer claims the payload later. The pipeline resumes from the reviewer's decision.