Identifier policy
Other people’s citations depend on our URLs never breaking. Saying that publicly is what turns it into a commitment. This is the commitment.
Identifiers are opaque and permanent
Every token, verse and root has an identifier that is stable across time. Position in a verse is an attribute of a token, never its identity — renumbering a scheme never changes an id.
Each identifier carries the segmentation scheme it belongs to. The current format is:
quran:tanzil-uthmani:<surah>:<segment>:<position>Segmentation scheme tanzil-uthmani, work quran. An id from one scheme is never silently reinterpreted under another.
Versions are immutable semver
A corpus version is published once and never edited. Corrections ship a new version; the old one keeps resolving exactly as it did. A citation therefore names a version, not “the current site.” The current version is 0.8.0, succeeding 0.7.0.
Every artifact of a version has a published sha256, so a third party can verify a copy byte-for-byte. See the downloads page.
Every release publishes a mapping table
When a token splits, merges or moves between versions, the change is recorded explicitly: a successor id or an explicit tombstone. No id silently disappears.
URLs never 404
A retired URL 301s to its successor, or returns 410 Gone with an explanation. It is never silently reused for something else, and never a bare 404. A URL published today resolves in ten years, or resolves to an explicit successor.
Machine-readable
The API exposes the same guarantees. The well-known descriptor points at the API, the dataset index and this policy; the manifest endpoint carries the identifier format and version lineage for any release.