Skip to content

Add daemon-attested origin and appkit per-node rate limiting#26

Merged
TeoSlayer merged 1 commit into
mainfrom
feat/origin-appkit
Jul 3, 2026
Merged

Add daemon-attested origin and appkit per-node rate limiting#26
TeoSlayer merged 1 commit into
mainfrom
feat/origin-appkit

Conversation

@TeoSlayer

Copy link
Copy Markdown
Contributor

Summary

  • ipc.Envelope gains an Origin block (node, node_id, authenticated, trusted) set only via the new trusted Service.CallWithOrigin path; the broker strips caller-supplied origins on cross-app calls so apps cannot forge sender identity through the broker
  • New stdlib-only pkg/appkit: RequireOrigin, LimitPerNode, RequireEnvelope (verification via injected VerifyFunc — wire it to driver.VerifyEnvelope), and a sliding-window PerNodeLimiter keyed on verified node identity
  • New identity.verify manifest capability (declarative, consent-time, like the rest of the grant model)

No new module dependencies. Companion to pilot-protocol/common#34, pilot-protocol/rendezvous#(verify endpoint), pilot-protocol/pilotprotocol#(envelope IPC). Spec: pilotprotocol docs/SIGNATURE-VERIFICATION.md.

Testing

Live-socket broker tests (CallWithOrigin delivers, forged cross-app origin stripped, gates still apply), appkit middleware + limiter tests with injected clock, JSON wire-compat (omitempty) round-trips. Full suite green incl. -race.

🤖 Generated with Claude Code

- ipc.Envelope gains an Origin block set only via CallWithOrigin; the
  broker strips caller-supplied origins on cross-app calls so apps
  cannot forge sender identity through the broker
- pkg/appkit: RequireOrigin, LimitPerNode, RequireEnvelope, and a
  sliding-window PerNodeLimiter keyed on verified node identity
- new identity.verify manifest capability (declarative, like the rest
  of the grant model)
@codecov

codecov Bot commented Jul 3, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.80952% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
plugin/appstore/service.go 85.71% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@TeoSlayer TeoSlayer merged commit 5d05377 into main Jul 3, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants