shell property

PulseShell<P, Receptor<Cell>> get shell

Returns a Defensive Proxy of this pulse for untrusted receivers.

When to use

  • Untrusted Receivers: Use this when you need to send a pulse to an untrusted component — a UI widget, an external logger, or a third‑party plugin. The shell forces the receiver to authenticate before the payload is revealed.
  • Sending pulses to untrusted components.
  • Protecting sensitive payloads from unauthorised access.
  • Zero‑trust propagation scenarios.
  • When you want the receiver to authenticate before seeing the data.
  • External APIs, loggers, or UI widgets that shouldn't see raw data.

How it works

The shell wraps the pulse and hides its payload. Any attempt to access the payload must go through scrutinize, which forces the receiver to prove its identity and clearance.

Non‑obvious: the shell is read‑only and immutable

You can't evolve a shell or change its metadata. It's a terminal, read‑only view designed for safe distribution.

Returns:

A PulseShell that gates access until Reciprocal Authorization is satisfied.

Implementation

PulseShell<P, Receptor> get shell;