Purvakalpa Studio

Docs / Storyline

Verification

How to check Storyline's privacy claims yourself, and the claims-to-symbols map, canary scans and airplane test that keep every claim tied to code.

Storyline’s claims are written to be checked, not believed. This page covers what you can verify on your own device, and how each release keeps the claims tied to the code that makes them true.

Check it yourself

  • The audit chain. Run the chain verification on your device. It recomputes every hash, checks every Secure Enclave signature, compares the head with its external pin and checks the anchors co-signed across your devices. An edited, deleted or truncated entry breaks the chain at that point, and the result is yours, not a dashboard the developer controls. See Security.
  • The Data flow ledger. Every crossing is listed verbatim for each project, outbound and inbound, along with the activity that stayed on the device. See Research and egress.
  • The airplane test. The steps are below, and you can run them yourself.

The airplane test

The airplane test is the repeatable proof that writing and AI work with no network at all, specified as a gate before every external build. Here it is, lightly condensed.

Setup: a device with a local model available, such as Apple Intelligence or Ollama running on a Mac; one privileged project with a few documents and one ordinary project. Quit and relaunch the app once before you start.

#ActionExpect
1Turn on Airplane Mode (on a Mac, turn off Wi-Fi and unplug Ethernet)No errors
2Unlock the vaultBiometric unlock works offline
3Open the privileged project and type a paragraphEditing is normal and the word count updates
4Run the co-author’s ContinueA branch arrives from the local model, with no hanging spinner
5Adopt the branchThe merge works and history shows the safety snapshot
6Open the audit logEntries for the unlock, the AI run and the merge are there, with hashes
7If you have a cloud key, run an agent pinned to itIt fails closed with a clear offline message, and an audit entry is written
8Lock the vault and unlock it againClean re-entry
9Turn Airplane Mode offSync resumes within about a minute, shows as synced, and no documents are duplicated

Every expectation must hold. Any hang, crash, silent failure or duplicate counts as a failure.

How the claims stay honest

Claims mapped to symbols

Every load-bearing capability claim in the interface is listed in a claims-to-symbols file, quoted verbatim and paired with the code that makes it true. A claim with no symbol is reworded or deleted, a code change that breaks a row breaks the file’s review, and the whole file is re-audited at every release. A sample:

Claim in the appWhere it is true
“AI runs on-device for privileged matters.”AIAccessPolicy.localOnly, refused at AIService.resolve before any request is built; automations run with .localOnly when the project is privileged; .localOnly also refuses custom endpoints
“Tamper-evident audit log” (never “tamper-proof”)AuditLog.verifyDetailed(): chain rehash, Secure Enclave signatures, head pin and anchors; AuditChainSigner
“Storyline never sends prose anywhere unless you ask.”No backend exists; cloud AI only through your own keys at AIService.resolve; agent web access only through EgressFunnel.crossing, recorded verbatim
“your API keys never leave this device.”KeychainStore; shared endpoint settings arrive without keys
“Every agent crossing, verbatim, with the leak guard’s verdict.”EgressFunnel.crossing writes a sealed EgressRecord before sending, and it is the only network path a tool can reach
“Nothing changes your scene until you merge.”BranchingService writes branches only; adopting one is an explicit act

Canary scans

Two scans check that privileged text never rests in the clear. A known canary string is seeded into privileged content. One scan searches the app’s container for it in plaintext; the other searches the system’s unified log. Both pass only when the canary is absent. This store-level scan is how the Derivative Privilege Rule is checked: a snapshot, output or log line that carried privileged text in the clear would surface the canary.

The rules behind them

  • Build the control first, then state it precisely. Never the reverse.
  • Attribution is layered evidence, never a bare claim. The audit log is described as tamper-evident, and non-repudiable on Secure Enclave hardware, but never as tamper-proof.
  • A claim added to the interface gets its row in the claims file in the same change.
  • The airplane test, the plaintext scan and the log audit run together at the end of every build slice.