A private iOS journal for the messages you write but never send. Local-only, no servers, no analytics. iPhone, iOS 17+.
| Path | Purpose |
|---|---|
pages.html |
Marketing landing page. Deployed as /index.html. |
legal/ |
Privacy policy, Terms, EULA, and the imagined-reply disclosure for App Review. Deployed as-is. |
launch/ |
App Store Connect cheat sheet + launch kit. Not deployed. |
GHOST/ |
iOS app source (SwiftUI, single target). |
GHOST.xcodeproj/ |
Xcode project. |
.github/workflows/pages.yml |
Auto-deploys pages.html + legal/ to GitHub Pages on push to main. |
main (or run the workflow manually from the Actions tab). After ~90s the site is live at https://<user>.github.io/<repo>/.CNAME line in .github/workflows/pages.yml, set it to your domain, configure DNS as GitHub instructs, re-deploy.The workflow only publishes pages.html (renamed to index.html) and legal/. Swift sources, the Xcode project, and launch/ stay private.
xcodebuild -project GHOST.xcodeproj -scheme GHOST \
-destination 'generic/platform=iOS Simulator' build
Or open GHOST.xcodeproj in Xcode and ⌘R.
GHOST/Subscription/Products.storekit.app.ghost.ios and the non-consumable IAP app.ghost.ios.unlock ($9.99) before you upload a build.See launch/app-store-listing.md. Reviewer notes are in the same file under §8 — copy them verbatim into App Store Connect.
The imagined-reply feature is documented in detail at legal/imagined-reply-disclosure.html; App Reviewers will be pointed at this URL.
App: © 2026, all rights reserved. See legal/eula.html and legal/terms.html.