OrchardProbe compatibility is a claim about one exact, recorded combination of device, operating-system build, environment, transport capabilities, backend capabilities, tool commit, and first-party fixture commit. A result must not be generalized to a nearby device, iOS release, jailbreak, backend, or commit.
There is no supported device matrix while OrchardProbe has no device backend. An entry missing from a future matrix is unverified; it is not automatically unsupported.
Verified is the only status that represents an official compatibility claim.
Maintainers may assign it only when all of the following are true:
- a maintainer reproduced the result on a project-owned device or a device the maintainer is explicitly authorized to test;
- the test used DemoLab built from the recorded commit;
- the record names the exact claim being verified and identifies the installed DemoLab build and its initial protection state with sanitized, independently reviewable evidence;
- every in-scope Mach-O binary was evaluated independently against a recorded known-plaintext SHA-256 oracle from that same DemoLab commit;
- the observed hash matched the oracle for every binary declared
Pass, and no required binary was skipped; - the complete procedure succeeded in at least two clean runs;
- the record passed its privacy and authorization checks; and
- a maintainer completed the Go/No-Go decision and verification sign-off in the test record template.
An ordinary unencrypted development build can verify host parsing, transport, containment, collection, and hash plumbing. It cannot verify a decryption or protected-to-plaintext claim. Such a result is at most Experimental for that claim, regardless of matching hashes. The source commit alone does not prove the identity or initial protection state of an installed artifact.
A TestFlight/App Store Connect build record, installed app version/build,
successful launch, process identifier or executable location, and pre-upload
IPA hash are also insufficient, individually or together, for a
protected-to-plaintext or end-to-end claim. If the approved environment cannot
independently expose per-binary installed identity, initial-protection evidence,
and the exact compared ranges, that protected claim is No-Go. Do not replace
the missing evidence with a weaker metadata fallback. Transport and contained-
collection records may mark those protected-claim-only fields not exercised,
but must not broaden their claim. LAB-001 records one such bounded result in the
protected-oracle research note.
A single user report never creates or upgrades an official support claim, even when its observed behavior is successful. It remains an unverified intake until the maintainer verification workflow above is complete.
Experimental means a maintainer has evidence that the exact combination can
exercise some intended behavior, but one or more Verified requirements are not
met. Typical reasons include incomplete binary coverage, a missing or mismatched
oracle, a skipped run, intermittent behavior, an unreviewed capability path, or
a pending regression retest. Experimental combinations carry no support or
reliability guarantee.
Unsupported means maintainers have confirmed that the exact combination
cannot satisfy the required behavior, lacks a required capability, violates the
project's minimum-privilege boundary, or is outside the project's documented
scope. The record must state the observed reason. Lack of reports or maintainer
hardware alone is not evidence for this status.
Public compatibility issues are manual, opt-in, structured intake reports, not
automatic telemetry, test records, or support declarations. Their result always
begins with Unverified report. Maintainers first check authorization, fixture
provenance, completeness, and redaction. A useful report may lead to a separate
maintainer test record, but it does not itself change a compatibility status.
A real-device test record collects only the minimum structured environment and evidence needed to reproduce a result:
- device marketing model and SoC family;
- iOS version and build number;
- jailbreak or equivalent test-environment name and version, plus rootless or rootful mode;
- macOS host version and architecture, the exact OrchardProbe commit, and the future helper artifact SHA-256 when a helper is exercised;
- public, project-defined transport and backend capability IDs;
- the exact DemoLab commit;
- the narrowly worded claim under test and sanitized DemoLab build lineage;
- for a protected-to-plaintext or end-to-end claim, each in-scope binary's independently observed installed architecture, slice, UUID or sanitized signature identity, and initial-protection evidence;
- for each range compared by the claim, its coordinate system, start, length, evidence level, observed SHA-256, and outcome; and
- for a known-plaintext claim, the exact-range oracle source and SHA-256 value for each in-scope DemoLab binary.
Do not collect or publish UDIDs, ECIDs, serial numbers, IP addresses, host or device usernames, credentials, tokens, proprietary application names or bundle identifiers, IPAs, binary contents, or raw/unsanitized logs. Do not attach or link to those materials. A maintainer's GitHub identity in the sign-off is record process metadata, not host or device metadata.
Use DemoLab whenever it can reproduce the observation. Public diagnostic intake may instead describe another original, publicly redistributable first-party fixture, but that report cannot establish Verified compatibility under the current policy. A third-party or proprietary application cannot be named or used to establish public compatibility, even if the reporter says they are authorized to test it. Maintainer verification currently uses DemoLab only.
Evidence strength and outcome are separate:
metadatarecords descriptive binary metadata only;structurevalidates binary structure but does not prove plaintext;range_hashconfirms that the helper and host agree on bounded range byte counts and hashes; it establishes transfer integrity, not plaintext; andknown_plaintextcompares the observed output hash with an independently recorded SHA-256 oracle produced from the same DemoLab commit.
An internal test record records every Mach-O slice and exact compared range in
a separate row. It may declare a binary Pass only when every required row is
at the known_plaintext level with matching observed and oracle hashes.
Missing or weaker evidence is Inconclusive, Fail, or Skipped as
appropriate. Public issue intake deliberately avoids Pass so an unreviewed
observation cannot be mistaken for verified plaintext or official support.
Evidence is scoped to the claim. A matching known-plaintext hash proves the observed output matches its oracle; it does not prove that the input exercised decryption unless the installed input's protected state and artifact lineage were independently established. Records must not silently broaden a verified transport or collection result into an end-to-end export claim.
- A reporter submits a sanitized compatibility issue; its status is unverified.
- A maintainer reviews authorization, DemoLab provenance, structured fields, limitations, and redaction.
- A maintainer reproduces the exact combination and creates a test record from the template.
- The maintainer records per-binary evidence, performs clean repetitions, and makes a Go/No-Go decision.
- Only a signed
Go — Verifiedrecord can add or upgrade a matrix entry.
Any change to a recorded tuple requires new evidence. A regression demotes a Verified entry to Experimental while it is investigated; a confirmed inability or out-of-scope condition may become Unsupported with a recorded reason.