Recipes
Every recipe below is an application shape, not a feature. They exist because the interesting questions are rarely "what does idLess do" and almost always "what do I switch on for a multi-tenant SaaS, and what breaks if I forget one of them" — so each page wires a whole shape end to end and says which guarantee each option is buying.
Nothing here is a separate mechanism. If a recipe uses scope, reclaim or short links, those are the same ones documented under Features, configured for that shape.
The shapes
| Recipe | What it solves |
|---|---|
| Multi-tenant SaaS | Per-tenant slugs with no cross-tenant leak — scope for uniqueness, a resolution gate for isolation. |
| News and magazine | Multilingual, SEO-first publishing — native-script headlines, reciprocal hreflang, and a generated sitemap. |
| E-commerce | Nested category paths that reorganize without a cascade. |
| Documentation and knowledge base | Clean slug-only URLs with no id suffix — and the guarantees that make dropping the id safe. |
| Marketplace | Per-seller slugs where only live listings resolve, and drafts stay out of both the index and the sitemap. |
| Headless CMS | One route for every content type, driven by a registry instead of a route file that grows with the model list. |
| Government and enterprise | Frozen slugs for citable documents, 410 Gone for repealed records, 301 to the amendment that replaced them. |
| Events and ticketing | QR short links printed on a ticket that keep working after the event is renamed or rescheduled. |
| Real estate and geo | Location-composed paths where identical listing titles are fine across cities. |
| Social and user-generated content | Let many posts share a title without a -2 suffix — the encoded id already disambiguates them. |
| Sharing and QR codes | A stable short link per model that keeps following the canonical URL, however often the slug changes. |
| Enumeration-sensitive data | Unguessable URLs for integer-keyed tables where row count, growth and ordering must not be inferable. |
New here? Quick start gets a model sluggable in a few lines, and the URL resolver is the one class you write yourself.