Immutable assets. Served at the edge.
Tidal delivers your JavaScript, CSS, fonts and WebAssembly from 20 points of presence on versioned URLs that never change. Pin a release once and it is cached for a year, everywhere.
https://cdntidal.com/v/<pkg>/<semver>/<file>
Built for pinned releases
No purge API, no dashboard ritual. A URL is a version, and a version is a promise.
- 01
Immutable by path
Every release lives under
/v/<pkg>/<semver>/. Files are never overwritten, so responses carryCache-Control: public, max-age=31536000, immutableand browsers never revalidate. - 02
Subresource integrity, published
Each file has a
sha384digest available at publish time and via?meta. Paste it intointegrityand the browser enforces it. - 03
Brotli, gzip and HTTP/3
Text assets are precompressed at publish time with Brotli level 11 and negotiated per request. QUIC and HTTP/3 are on at every PoP, with automatic TLS 1.3.
- 04
Warm before the first request
Publishing fans an artifact out to the whole network. A first hit from Singapore is as warm as one from Frankfurt.
- 05
Aliases when you need them
Use
/a/<pkg>/<channel>for a moving pointer such asstable. Aliases cache for 60 seconds and 302 to the current immutable path.
Ship in one command
The tdl CLI uploads a build directory, prints digests and returns ready-to-paste tags.
# publish ./dist as lumen@3.4.1 $ tdl publish ./dist --pkg lumen --version 3.4.1 → 4 files, 218 KB (brotli 61 KB) → https://cdntidal.com/v/lumen/3.4.1/lumen.min.js → sha384-oQ3vF9mZk2LxT8bYcR1wNpJ…
<script src="https://cdntidal.com/v/lumen/3.4.1/lumen.min.js" integrity="sha384-…" crossorigin="anonymous" defer></script>