Wrench

Argument · Wrench 0.16.5

Device policy is not a named web operation.

The Thursday 27 August 2026 rough.day tech edition ranked “PayPal app crashes on GrapheneOS, citing a root-detection security violation” as item five. The live source is leumon’s 27 August 2026 post Tell HN: PayPal blocks GrapheneOS. Wrench does not treat that phone check as its job. It names a provider operation a session can call on purpose, attests whether the current contract can run it, and refuses to pretend a missing operation was proven.

This argument uses the live Hacker News post fetched for this draft, the Thursday 27 August 2026 rough.day tech edition, the rough.day selection notes, and the public v0.16.5 pages for the Wrench home, provider capability attestation, inbound index-spoofing argument, and VM-containment argument. Operation counts are the current release attestation, substituted at site build time.

Thursday ranked a device crash, not a Wrench contract

rough.day considers reporting from the previous 24 hours, groups related coverage, and publishes up to six stories per category when the day supports that many. Its selection notes say the tech edition favors demonstrated impact and durable change over product promotion. The Thursday 27 August 2026 tech list placed the PayPal and GrapheneOS crash at rank five, with news.ycombinator.com as the source host.

The ranked title is the edition’s headline. The live post title is “Tell HN: PayPal blocks GrapheneOS,” published 27 August 2026 by leumon. This page names both. It does not reprint the edition summary or the comment thread.

Hraness publishes Wrench and this site. The edition is an independent ranking of a public crash report. It is not a Wrench release note, and a ranked story does not add a provider operation.

The exception names root detection, not a web operation

leumon writes that the PayPal app now refuses to run on GrapheneOS. Opening the app crashes with com.paypal.oslo.app.rasp.RootDetectionSecurityException: Security policy violation: s=root. The ranked edition framed that exception as attestation treating a hardened operating system as rooted or non-standard. This page keeps that bound. It does not claim GrapheneOS is rooted, and it does not claim PayPal measured a named web job.

The same post says the submitter does not know whether enabling the PayPal card for contactless NFC payments is required for the crash. That uncertainty stays open. This page does not invent a PayPal API, a GrapheneOS workaround, or a regulator’s answer.

The object under test is the phone. A payment app that attests the device and then rejects GrapheneOS is enforcing device policy. That is a different attestation object from the provider capability attestation, which names operations a session can call on purpose.

Attestation names the operation a caller chose

Wrench’s product is the outbound contract, not the handset. The Wrench home states that each authenticated operation is typed, bounded, and tied to one account and transport. The caller brings the model and interface. Wrench supplies the local capability and custody layer. It is not an AI agent, planner, or approval shell. It does not decide which phones may run a payment app.

The current release attests 323 operations across 23 bundled public adapters. 136 are observed. 187 remain capture-required. Those figures are the same release-bound counts published on the provider capability attestation. This page does not add a provider, invent a PayPal operation, or treat a reservation as ready. Telegram is absent from those manifests. Wrench does not install a Telegram Bot API substitute or claim Telegram contact access.

observed means the current contract can plan and execute after local doctor and auth checks pass. capture-required is an inert reservation. The attestation page says a missing or capture-required operation stays unavailable rather than falling back to general browser control. A failed root-detection check on a phone does not mark a Wrench reservation observed, and a passing phone check does not invent one.

Device policy, inbound identity, and guest machines answer different questions

The index-spoofing argument is about inbound identity lies: a request that claims a recognized bot name and then fails that identity’s supported authentication. The VM-containment argument is about sandboxing agents: a guest machine that is supposed to hold a cyber-capable agent. This page is outbound device attestation colliding with a hardened operating system. The pages refuse different substitutes.

Decision PayPal root-detection crash on GrapheneOS Wrench attested operation
What is named The device and operating system, scored as rooted or non-standard A named outbound outcome such as messaging.list
What is attested Device policy that decides whether the payment app may run Exact provider, transport, account realm, contract version, implementation, input, and risk
Failed check The app crashes with RootDetectionSecurityException The operation stops. A capture-required reservation stays inert
Missing proof A hardened phone is still not accepted as a standard device The reservation cannot plan or execute, and Wrench does not invent a browser fallback
Job of the layer Choose which phones may run the payment app Name the operation a caller chose and attest whether it is available

A RootDetectionSecurityException still does not name messaging.list or mark a reservation observed. The thread is evidence that device-policy attestation can collide with a hardened operating system. It is not a Wrench capability grant.

Read the spoofing page for inbound identity. Read the VM page for containment. Read this page for why a rooted-phone check is not an attested operation. A sourced take covers why a rumour that is enough for agentic search is still not a named web operation. A news take covers why a desktop that lets any user process escalate to root is still not a named web operation. The pages do not reprint one another.