Who holds the transcript: you or the platform

Lesson 5 of 5 in Sessions and Streaming: The Conversation Plumbing.

One decision in this module outlives all the others: whose database holds the conversation?

Platform-managed sessions are genuinely attractive. You call an API, the transcript persists, runs are addressable, reconnection works, and you wrote no schema. For a team of three shipping in a fortnight, that is a rational trade — you are renting plumbing that took the vendor years.

But the transcript is the single most sensitive and most portable asset your agent produces. It is where the PII is. It is what a regulator asks about. It is the training-and-evaluation corpus you will want next year. And it is the thing that decides how expensive it is to change providers — because switching model vendors is a weekend, while extracting three years of conversations from someone else’s object model is a project with a steering committee.

Store it yourself vs platform-managed sessions vs the hybrid in between
DimensionYou store the transcriptPlatform-managed sessionsHybrid: platform API, your data store

Control over schema and lifecycle

Total. You choose retention, partitioning, redaction at write time, and what a “turn” even means.

The vendor’s object model and lifecycle timers are the contract. Renames and deprecations are their decision.

The vendor’s object model, your storage, your retention and backup policy.

Privacy and residency

Data never leaves your boundary except as model inputs. Easiest story to tell an auditor.

Conversation history, files, and vector stores live in vendor-managed resources. Read the region, retention, and sub-processor terms before you design.

Raw conversation stays in your tenant, in your region, under your keys — while the vendor still runs the orchestration.

Portability and lock-in

High portability. Provider swap touches the model client, not the history.

Lowest. Migration means exporting an object model you did not design into one you do not control yet.

Good. The rows are yours even if the control plane changes.

Ops burden

Yours: schema, migrations, indexes, backups, the event log, the deletion path.

Near zero. This is the whole value proposition.

Real but bounded — you provision and pay for the stores, the vendor provisions the containers and the plumbing inside them.

Resumability and streaming

You build the durable event log and the cursor protocol. Nothing gives it to you for free.

Usually inherited: addressable runs, status you can poll, streams you can reattach to.

Inherited from the platform, with the durable copy landing in a store you can query directly.

Best fit

Regulated data, multi-provider strategy, transcript-as-product, mature platform team.

Prototypes, internal tools, teams with no ops capacity, low-sensitivity conversations.

Enterprises that want the managed runtime without handing over the raw conversation.

Interactive sorting exercise: Each card is a real requirement from a real project. Sort it into the storage posture it argues for.

Whichever column you choose, three things are yours no matter what.

The run ids and session ids, written down on your side, because they are the join key between the platform’s objects, your traces, your billing records, and next year’s deletion request. The deletion path, enumerated across every layer of the pyramid from lesson 4 — you cannot promise erasure you cannot describe. And an export you have actually run, not one you believe exists: a documented export endpoint is a plan, a tested nightly job with a restore drill is a capability.

That is the honest summary of this module. The plumbing looks like a detail until the day it becomes the reason a migration is a quarter instead of a week, or the reason one dropped socket refunded a customer twice.

Tool: Cloud Deployment Wizard — The Deployment Wizard walks the same trade-off end to end — who runs the loop, who holds the transcript, and what each answer costs you in control, privacy, and ops.

Interactive checkpoint quiz (2 questions) — open this page in a browser to take it.