"The parser is strict: scheme, host, path, field names, multiplicity, integer range, and decoded length are all validated. Unknown or repeated fields are rejected."
The Parser Is the Gate
Every deep link that reaches Ashen Reel passes through one function first. That function is the border checkpoint, and its strictness is the security. A lenient parser that shrugs at surprises is an unlocked door with a friendly sign; a strict one that rejects anything it wasn't explicitly told to accept is the wall the whole track has been building toward.
Validate Everything, Trust Nothing
Strict means every part of the URL is checked, not just the fields you care about:
- Scheme must be exactly
cwkashenreel. - Host and path must be exactly
recalland/open— one route, not a family. - Field names must be drawn only from the allowed set; an unknown field is a rejection, not a shrug.
- Multiplicity — each field appears at most once; a repeated field is rejected, so nobody can smuggle a second value past a first check.
- Integer range —
timestamp_msmust parse as an unsigned integer, not a float, not a negative, not a word. - Decoded length — the id is bounded, so a megabyte of 'id' can't sail in.
Here's the checkpoint in full — notice how many lines are rejections:
Why Repeated Fields Matter
The 'reject repeated fields' rule looks pedantic until you meet parameter pollution. Different layers can disagree about which value of a duplicated key wins — your validator checks the first timestamp_ms, some downstream reader uses the last. Attackers live in that disagreement. Ashen Reel refuses the ambiguity entirely: one field, one value, or the whole link is rejected. Strictness isn't fussiness — it's closing the gaps where two lenient readers would have disagreed.