WebHarness security guide

Local capabilities for web apps.

Web apps increasingly need files, local data, notifications, workflows, and desktop context. WebHarness lets them ask through a Harness boundary users can inspect before native access is used.

The ruleNative power should be declared, visible, and consented.

Boundary first

A web app should not become all-powerful just because it is useful.

DeclareThe Harness says what the app may ask for before runtime.
InspectTeams can review identity and capability intent before opening.
ConsentSensitive actions move through explicit user-facing boundaries.

Capability examples

Local power, scoped to the product.

A Harness makes local access a product fact. The app can ask for what it has declared, and the team can review the boundary before the app reaches the Mac.

Files

Read or write only where the product boundary allows it.

Local data

Use vault, SQLite, or app storage with scoped intent.

Notifications

Send Mac notifications only when the app has declared the need.

Workflows

Connect desktop actions, automation, and agent flows behind review.

For AI and internal tools

The Mac can be useful without becoming invisible infrastructure.

Agent workflows and internal tools often need local context. The right answer is not to hide that access. It is to make the product boundary visible before the app asks for power.

Inspect before trust

Capability intent travels with the Harness.

  • Product identity is visible before opening.
  • Capability intent lives with the package.
  • Sensitive access stays behind explicit boundaries.
  • Release confidence can grow with the product.

Harness model

Declare native access where teams can see it.

WebHarness keeps the web stack intact while making native capability intent part of the product surface. That is what turns local access from a hidden risk into a reviewable boundary.

Capability boundarySupport Desk
filesystem.readDeclared capability
Ask first
vault.readDeclared capability
Scoped
notify.sendDeclared capability
Optional

FAQ

Common questions about local capabilities for web apps.

Can a web app access local files safely?

Yes, but local access should not be ambient browser power. WebHarness packages the app as a Harness so file access can be declared, reviewed, and requested through a visible Mac boundary.

What are local capabilities?

Local capabilities are Mac-side powers such as files, notifications, local data, desktop context, workflows, and agent-facing tools.

Does WebHarness give JavaScript unlimited native access?

No. The app declares capability intent and sensitive access stays behind scoped product boundaries and consent.

Who should care about capability boundaries?

AI app builders, internal-tools teams, support teams, and web product teams should care whenever the app needs local context or actions on the user's Mac.