Reference · offline package v1

Offline packages

Use a verified package when a web app must launch without relying on browser cache. A manifest is an app description; it is not an automatic installation instruction.

What becomes offline

A complete installed package contains its declared HTML, CSS, JavaScript, images, fonts and icon assets in Drel-managed persistent storage. After every declared file is verified and the package is atomically activated, its entrypoint can open without the network or WebKit cache.

Offline assets do not make APIs offline. A page can still call an HTTPS API whenever the device has a network connection. If the device is offline, API calls, third-party CDNs, dynamic images and login services need an application-level fallback.

Trust and installation

  1. A trusted parent app manifest identifies the web app and pins its Web App Manifest and resource manifest.
  2. The resource manifest declares each allowed file by path, size and SHA-256.
  3. Drel downloads and verifies the complete package into staging, then activates it atomically.
  4. The user explicitly downloads, updates or removes a package. A push may open a registered app, but cannot silently install or upgrade one.

Only an operator-approved, signed app registration can authorize a package. There is intentionally no public “self-sign any website” shortcut: a random website publishing manifest.json must not gain offline installation rights.

Update lifecycle

EventExpected result
First downloadThe current package is installed only after every file verifies.
New version availablePublish immutable assets and a new versioned resource manifest; the user initiates an update.
Verification or network failureThe prior complete package remains active. A partial staging directory is never used as the app.
Push arrivesIt may route to an already registered app and route. It never changes package bytes or trust state.

Standard PWA compatibility

Use the ordinary manifest.json or manifest.webmanifest fields for name, icons, start URL, scope and display. Drel’s drel_offline profile binds the offline resource set separately so it can be verified exactly. Service Worker and ordinary browser cache are useful optimizations, but they are not Drel’s durable-offline guarantee.

For code and validation detail, use the Drel app-development skill. It includes the applicable app/container/offline versions and graceful online fallback guidance.