SYSNOMINAL|BUILDv2026.01.01|REGIONSELF_HOST

ExpirySignal — Examples

DATA PLATE
DOC
ExpirySignal — Examples
ID
SS-EX-EXP-2025.12
REV
A
SURFACE
PUBLIC
MODEL
ExpirySignal emits time-dependent state. Application decides outcomes.
PURPOSE
Illustrative reference patterns only. No enforcement.
REF
Examples

Time-dependent state is emitted at read time.
No schedulers. No background execution.

EXAMPLE
// permit()/denyAction() are application-owned outcomes (illustrative).

enum ExpiryState {
  Expired = "expired",
  NotExpired = "not_expired",
}

let exp: { signal: ExpiryState; expires_at: string } | null = null;

try {
  // Read-time expiry lookup (time-dependent state)
  exp = await expirySignal.state({
    subject: userId,
    scope: "trial",
  });
} catch (err) {
  // Failure policy is application-owned: choose fail-closed (deny) or fail-open.
  return denyAction("Expiry state unavailable");
}

if (!exp || exp.signal === ExpiryState.Expired) {
  return denyAction("Trial expired"); // application-owned outcome
}

permit();

Correctness depends on your time source.
ExpirySignal emits time-dependent state only.

← Examples·Spec Sheet [ID: EXP-01]