Specification
This specification defines the authoritative protocol requirements for the Signal Gating Protocol (SGP).
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC 2119] [RFC 8174] when, and only when, they appear in all capitals.
Draft
This specification is currently in draft status and is subject to change.
Purpose and Goals
- Define protocol roles and responsibilities.
- Describe message formats and state transitions.
- Define validation and failure handling semantics.
- Document security assumptions and interoperability requirements.
Terminology
| Term | Definition |
|---|---|
| Signal | A signed event emitted by a producer, carrying a payload and metadata. |
| Gating policy | A declarative rule set evaluated by the gateway to produce a decision. |
| Verifier | A component responsible for validating signal authenticity and integrity. |
Protocol Architecture
Actors
| Actor | Responsibility |
|---|---|
| Producer | Generates and signs signal events. |
| Consumer | Receives gating decisions and acts on them. |
| Gateway / Policy Engine | Evaluates signals against policies, issues decisions. |
Message Flow
- Producer emits a signal event.
- Policy engine evaluates the signal against configured thresholds.
- Consumer requests/receives gating decision.
- Decision is logged and auditable.
Data Objects
Schema definitions for protocol messages and objects will be defined here, including field names, types, and validation rules.
Error Handling
- Required vs. optional error fields.
- Retry behavior and idempotency semantics.
Security Considerations
- Signatures, integrity, and freshness requirements.
- Replay protection.
- Trust boundaries and key lifecycle.
Versioning
- Version negotiation between actors.
- Backwards-compatibility policy.
- Deprecation process.
Learn More
- Documentation — Guides and tutorials
- GitHub Discussions — Ask questions and contribute