URL Shortener & Link Management Service  ·  View 21 of 23  ·  Operations

Link Lifecycle

Six states a code moves through, and the one transition that never reverses.

Editable source SVG draw.io All views
Claimed reservation written Screened destination checked Live resolving at the edge Edited same code, new target Suspended expired, killed, blocked Retired never re-issued Code identity issued once verdict warmed repointed revoked deleted stands Link Lifecycle — The Loop a Code Never Leaves Application we own Security / platform Risk / gap Suspended returns to Live on appeal or reactivation, and clicks are kept throughout. Retired returns nowhere: it is the one irreversible transition in the platform. v 1.0 · owner Platform Architecture · date 2026-09

Reading the loop

  • Live ⇄ Edited and Live ⇄ Suspended are both reversible: a destination can change repeatedly and a suspension can be appealed or reactivated.
  • Retired is terminal, and the reservation record stays behind forever. That is the whole reason this view is a loop with one exit rather than a cycle.
  • Clicks are retained across every state, including Suspended and Retired, so a finished campaign can still be reported on.

What the states drive

  • Each state maps to exactly one clicker-visible outcome: Live → 302, Suspended → 410 or interstitial, Retired → 404. No state shares a response with another (ADR-14).
  • Expiry enters Suspended by TTL and by the deny-set check, because Cosmos TTL is eventual and the platform's expiry promise is 60 s.