Skip to content

iOS app

The iOS app

Updated Verified against 0f89c40 on 2026-09-27

Page actions

ChatGPT and Claude are third-party services. The link gives them this page's public address and a short instruction. This site records nothing.

Gurbani Soul for iPhone and iPad lives in its own repository and takes every input by pin: the dataset, the platform's golden contract and the database builder. How it fits, and where to read next.

Gurbani Soul is the consumer app: reading, searching and studying Sri Guru Granth Sahib Ji, fully offline, with the verbatim Gurmukhi cited by Ang. It lives in Algorythmos-AI/gurbani-soul-ios and reads nothing from this repository’s working tree: every input arrives pinned and hash-verified (ADR-0007), and its Swift search, verify and reader core is held to the platform’s API by the golden contract.

InputOwnerHow it arrives in the app repository
The scripture databasesggs-datadataset.lock.json — the same pin as this platform — installed by make dataset, sha256-verified
The iOS database builder (pipeline/build_ios_db.py)sggs-datavendored at the dataset’s commit, recorded in vendor.lock.json
The golden contract (contract/) and the contributors rosterthis platformvendored at a release tag, recorded in vendor.lock.json with a sha256 per file

The pages

  • What the app doesthe five tabs screen by screen, the widgets and Live Activity, Siri and deep links, settings, what the public build leaves out, accessibility
  • App architecturethe Swift package (a Foundation-only core, a vendored SQLite, a read-only seam), the actor that answers the API’s routes on the device, the widget extension, the tests
  • Privacy and on-device datawhat is stored where, what the widgets see, no network, what sharing sends, deletion, the privacy manifest and its tests
  • Release statusevery upload from the app’s ledger (rendered at build) and the first App Store submission’s sign-off record
  • How the app takes a releasevendor-sync, the one version number, the ledger, and what makes a release complete (the flow as a sequence diagram; the tools read from the app repository at its pinned commit)
  • Contract and parityhow the Swift port is proven byte-identical to the API, suite by suite (the Swift fold read from the source)
  • Database pair and launch integritythe two database profiles, the manifest, the licence gate, the fail-closed launch check, the bookmarks store (poster 12 walkthrough)
  • Nitnem for engineersthe bani registry as pointers over the verbatim corpus, the separate non-SGGS layer, variants, numbering, the review gate (the registry as a diagram)

Pinned from gurbani-soul-ios

The app’s own documents are published here by pin (docs-site/sources.lock.json), with a banner naming the canonical file; edit them there:

DocumentCanonical file
TestFlight → App Store launch plandocs/ios/testflight-launch-plan.md
TestFlight test plandocs/ios/testflight-test-plan.md
The App Store listingdocs/ios/app-store-listing.md
Nitnem / Gutka Sahib — spec and frozen contractdocs/nitnem/spec.md
Runbook: App Store submission (go / no-go)docs/process/runbooks/app-store-submission.md
Runbook: iOS hotfixdocs/process/runbooks/ios-hotfix.md
ADR-0001: pinned inputs and the platform’s version numberdocs/adr/0001-vendored-inputs-one-number.md
ContributingCONTRIBUTING.md

What the app promises

  • Verbatim scripture. Every line shown is the Gurmukhi of the pinned database; the app refuses to present scripture at all if the bundled database does not hash to its certified manifest.
  • The platform’s behaviour. Search, verification, the reader, timing, the banis and the insights are Swift ports proven against the golden contract of the release they carry the number of.
  • One number. MARKETING_VERSION equals the platform release whose contract is vendored; every platform release is re-archived as X.Y.Z (1), so the App Store always equals the site.
  • Nothing collected. No accounts, no network at runtime, no tracking; the privacy manifest declares only what the app stores on the device.

Identifiers are stable through the brand: bundle ids org.sggs.*, the App Group group.org.sggs, the URL scheme sggs:// (Brand & domains).