Skip to article
forma.

EXAMPLE 07 SERVER-ENFORCED ACCESS

Read the case study ↗
Fictional newspaper · simulated subscription · no payments

THE CITY, AFTER HOURS

The Lantern Ledger

Independent stories. An invented city.A Forma demonstration

CITY LIFE / FICTIONAL FEATURE

What happens to a city after its last train?

A fictional report from The Lantern Ledger follows the people who keep a city moving after the platforms fall quiet.

VISITOR ACCESS · TEASER ONLY

The rest of this story stays on the server.

There is no hidden article underneath this box. Disable JavaScript and reload: you will still receive only this preview.

Free simulation. No account, card or payment. This button asks Rust to grant this browser session access.

WHAT THIS DEMONSTRATES

Access is a server decision.
JavaScript is optional.

Where the state lives

Your browser holds an opaque session cookie. The subscription flag stays in Rust’s memory, not localStorage. Sessions expire after 30 minutes and disappear when the server restarts.

What Forma provides

Typed server rendering turns authorized props into HTML. This application supplies the session and permission check. Forma does not automatically add accounts, subscriptions or billing.

What this cannot promise

An authorized reader can save or copy the story. This demo proves delivery control for visitors without access, not copy prevention or a production billing system.

How to inspect it yourself

Start with a reset subscription. Disable JavaScript in your browser and reload. Follow the raw HTML link: the protected article is missing from the response. Go back, simulate a subscription, and inspect again. The body appears only after the server has granted access.

The plain-text article endpoint checks the same permission. The private article file is kept outside public assets and search indexing. Responses use private, no-store caching; subscription changes use CSRF-protected POST forms.

Read the engineering case study →