The content host for the Afterwards iOS app. Serving corrected guidance from here is what lets a factual fix reach users in hours instead of waiting on App Review.
Only build output lives here. The source YAML, the validator and the build script
stay in estate-admin-content; publish with Scripts/publish.sh from that repo
rather than editing anything in this one by hand.
ContentService asks for exactly two things, relative to https://content.estateadmin.app/:
manifest.json, requested with the local cache bypassed:
{
"jurisdictions": {
"EW": { "content_version": 4, "file": "content-ew-v4.json",
"sha256": "…", "bytes": 68384 }
}
}
The file named in file, if and only if its content_version is greater
than the version already installed.
Three things are then checked before the download is allowed anywhere near a checklist, and a failure at any of them leaves the existing content untouched:
sha256 in the manifestA network failure is silent by design. Someone in the middle of a bereavement must never see a sync error, and the copy compiled into the app is always a working fallback.
From estate-admin-content, after the YAML change is made and content_version
bumped:
python3 validate.py && python3 build.py && Scripts/publish.sh
Never hand-edit manifest.json here. The checksum is what stops a truncated or
tampered download reaching a grieving family, and a manifest written by hand is
how that protection quietly stops working.
The publish script leaves older content-ew-v*.json files in place on purpose. If
a release turns out to be wrong, pointing manifest.json back at the previous
file is the fastest rollback there is — and it only works if that file is still
being served.
GitHub Pages allows one custom domain per repository, and estateadmin.app is
already taken by afterwards-site.