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.
Boundary first
A web app should not become all-powerful just because it is useful.
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.
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.

