# `ASM.RuntimeAuth.HandoffPacket`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.10.0/lib/asm/runtime_auth.ex#L280)

Ref-only ASM handoff packet for governed session transfer.

The packet is intentionally a value contract. It carries refs that a
receiving agent must revalidate before materialization and never carries
provider payloads, raw tokens, local auth roots, command env, or target
credentials.

# `t`

```elixir
@type t() :: %ASM.RuntimeAuth.HandoffPacket{
  authority_decision_ref: String.t() | nil,
  authority_ref: String.t() | nil,
  connector_binding_ref: String.t(),
  connector_instance_ref: String.t(),
  context_budget_refs: [String.t()],
  credential_handle_ref: String.t(),
  credential_lease_ref: String.t(),
  execution_context_ref: String.t(),
  guard_chain_ref: String.t(),
  handoff_ref: String.t(),
  idempotency_key: String.t(),
  installation_ref: String.t(),
  memory_scope_refs: [String.t()],
  native_auth_assertion_ref: String.t(),
  operation_policy_ref: String.t(),
  prompt_ref: String.t(),
  provider: atom(),
  provider_account_ref: String.t(),
  provider_account_status: atom() | nil,
  redacted?: true,
  replay_mode: atom() | nil,
  runtime_auth_mode: ASM.RuntimeAuth.mode(),
  target_ref: String.t(),
  tenant_ref: String.t(),
  trace_ref: String.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
