See the stars

FederNet Specification

Home / FederNet / FederNet Specification

FederNet Specification

Collaboration Without Compromise


Purpose

FederNet is an open-source networking specification for enabling secure communication between applications residing on different devices. The specification provides a modular framework for peer-to-peer communication, federated networking, end-to-end encryption, discovery, routing, synchronization, interoperability, and resilient data exchange.

FederNet is designed to allow independent applications to communicate without requiring both applications to be developed by the same organization or hosted on the same infrastructure. The system supports direct device communication where possible while providing federated, relayed, and mesh-based alternatives when direct connectivity is unavailable.

Design Principles

FederNet follows these principles:

  • Open source interoperability
  • Application-to-application communication
  • Device independence
  • End-to-end security
  • Privacy by design
  • Decentralized operation
  • Federated operation
  • Modular architecture
  • Transport independence
  • Vendor neutrality
  • Network resilience
  • Human-controlled permissions
  • Extensible plugin support
  • Backward compatibility
  • Cryptographic verifiability

Core Modules

Application Communication Module

The Application Communication Module defines the fundamental interface through which one application communicates with another application on a separate device.

Capabilities include:

  • Application-to-application communication
  • Device-to-device communication
  • Request and response messaging
  • Event-based communication
  • Command transmission
  • Structured data exchange
  • Binary data exchange
  • Application capability discovery
  • Application identity
  • Peer identity
  • Session establishment
  • Communication status reporting
  • Application availability detection
  • Communication permissions
  • Connection lifecycle management

Transport Module

The Transport Module provides transport-independent communication capabilities.

Supported transports may include:

  • TCP
  • UDP
  • WebRTC
  • WebSockets
  • QUIC
  • gRPC
  • Local network transports
  • Federated relay transports
  • Mesh transports

The transport abstraction allows applications to communicate without being permanently dependent on a single networking protocol.

The module supports:

  • Transport selection
  • Transport negotiation
  • Transport fallback
  • Connection upgrades
  • Connection migration
  • Multi-path communication
  • Bandwidth awareness
  • Latency measurement
  • Connection health monitoring

End-to-End Encryption Module

The End-to-End Encryption Module provides cryptographic protection for application communication.

Capabilities include:

  • End-to-end encrypted messages
  • Public and private device keys
  • Application identity keys
  • Session keys
  • Authenticated encryption
  • Forward secrecy
  • Key rotation
  • Key revocation
  • Key expiration
  • Session rekeying
  • Device verification
  • Peer verification
  • Cryptographic signatures
  • Message authentication
  • Replay protection
  • Encrypted attachments
  • Encrypted synchronization
  • Encrypted offline storage
  • Optional post-quantum cryptographic algorithms

FederNet implementations should use established and independently reviewed cryptographic protocols rather than implementing cryptographic primitives independently.

Identity Module

The Identity Module manages application and device identities.

Capabilities include:

  • Cryptographic device identities
  • Application identities
  • Public identity keys
  • Verifiable identity records
  • Identity verification
  • Identity rotation
  • Identity revocation
  • Device linking
  • Multi-device identities
  • Optional decentralized identifiers
  • Identity discovery
  • Identity trust policies

The module separates application identity from network location so that changing an IP address or transport does not inherently change an application’s identity.

Discovery Module

The Discovery Module allows applications to locate authorized peers and available communication endpoints.

Discovery mechanisms may include:

  • Direct peer discovery
  • Local network discovery
  • mDNS
  • Federated discovery
  • Directory services
  • Distributed discovery
  • DHT-based discovery
  • Invitation-based discovery
  • QR-based pairing
  • Short-lived discovery tokens

Discovery records should expose only the information required for establishing communication.

Session Module

The Session Module manages secure communication sessions between applications.

Capabilities include:

  • Session establishment
  • Session authentication
  • Session negotiation
  • Session renewal
  • Session expiration
  • Session recovery
  • Session migration
  • Session termination
  • Session state management
  • Cryptographic session binding
  • Connection resumption

Sessions may move between transports without requiring applications to rebuild their application-level communication state.

Routing Module

The Routing Module determines how encrypted application traffic reaches its destination.

Capabilities include:

  • Direct routing
  • Relay routing
  • Federated routing
  • Mesh routing
  • Multi-path routing
  • Route selection
  • Route failover
  • Route health monitoring
  • Latency-aware routing
  • Bandwidth-aware routing
  • Reliability-aware routing
  • Security-aware routing
  • Dynamic topology management
  • Self-healing connections

Routing systems must not require access to plaintext application content.

Federation Module

The Federation Module enables independent network operators to participate in FederNet communication.

Capabilities include:

  • Federated application discovery
  • Federated identity resolution
  • Cross-network communication
  • Federation authentication
  • Federation authorization
  • Federated routing
  • Federation policy management
  • Federation trust relationships
  • Federation server interoperability
  • Federation failover
  • Independent network administration

Federation must not require a single organization to control the entire network.

Relay and NAT Traversal Module

The Relay and NAT Traversal Module enables communication when direct peer-to-peer connectivity cannot be established.

Capabilities include:

  • STUN
  • TURN
  • Relay services
  • NAT traversal
  • Firewall traversal
  • Connection fallback
  • Relay selection
  • Relay failover
  • Relay health monitoring
  • Encrypted relay transport

Relay infrastructure must not have access to end-to-end encrypted application content.

Mesh Networking Module

The Mesh Networking Module enables participating devices to relay encrypted traffic through other trusted or authorized devices.

Capabilities include:

  • Peer relaying
  • Multi-hop communication
  • Dynamic mesh formation
  • Route discovery
  • Route recovery
  • Mesh topology management
  • Intermittent connectivity support
  • Low-connectivity operation
  • Local-first communication
  • Store-and-forward communication

Mesh routing must preserve end-to-end encryption between the original communicating applications.

Message Module

The Message Module defines the standardized FederNet message model.

Messages may contain:

  • Protocol version
  • Message identifier
  • Sender identity
  • Recipient identity
  • Session identifier
  • Message type
  • Timestamp
  • Sequence information
  • Delivery information
  • Encryption metadata
  • Integrity metadata
  • Payload
  • Expiration information
  • Priority information

The protocol supports:

  • Text messages
  • Structured data
  • Commands
  • Events
  • Files
  • Media
  • Application state
  • Synchronization records
  • Streaming data

Reliability Module

The Reliability Module provides mechanisms for maintaining communication across unstable networks.

Capabilities include:

  • Message acknowledgments
  • Delivery confirmation
  • Retry handling
  • Duplicate detection
  • Message ordering
  • Sequence tracking
  • Failure detection
  • Connection recovery
  • Offline queues
  • Store-and-forward delivery
  • Persistent encrypted queues
  • Delivery expiration
  • Priority handling

Synchronization Module

The Synchronization Module allows applications to maintain consistent state across devices.

Capabilities include:

  • Incremental synchronization
  • Differential synchronization
  • Conflict detection
  • Conflict resolution
  • Version tracking
  • State reconciliation
  • Multi-device synchronization
  • Offline synchronization
  • CRDT-based synchronization
  • Encrypted synchronization
  • Synchronization checkpoints
  • Recovery from interrupted synchronization

Data Transfer Module

The Data Transfer Module manages large and structured data transfers.

Capabilities include:

  • File transfer
  • Chunked transfer
  • Resumable transfer
  • Integrity verification
  • Encrypted transfer
  • Compression
  • Deduplication
  • Transfer prioritization
  • Bandwidth management
  • Transfer progress
  • Interrupted transfer recovery
  • Expiring transfers

Privacy Module

The Privacy Module provides mechanisms for minimizing network metadata and unnecessary information disclosure.

Capabilities include:

  • Metadata minimization
  • Optional sender protection
  • Identifier rotation
  • Timestamp protection
  • Traffic analysis resistance
  • Message padding
  • Size obfuscation
  • Dummy traffic
  • Connection privacy
  • Privacy-preserving discovery
  • Privacy-preserving telemetry

Authorization Module

The Authorization Module controls which applications and devices may communicate and what operations they may perform.

Capabilities include:

  • Peer authorization
  • Application permissions
  • Device permissions
  • Resource permissions
  • Role-based permissions
  • Capability-based permissions
  • Session permissions
  • Expiring permissions
  • Permission revocation
  • Consent management
  • Policy enforcement

Quality of Service Module

The Quality of Service Module manages application traffic according to priority and network conditions.

Capabilities include:

  • Message prioritization
  • Bandwidth allocation
  • Latency optimization
  • Interactive traffic prioritization
  • Bulk transfer management
  • Streaming optimization
  • Network congestion awareness
  • Adaptive transmission
  • Resource-aware routing

Network Intelligence Module

The Network Intelligence Module provides optional intelligent network optimization without requiring access to application plaintext.

Capabilities include:

  • Route optimization
  • Connectivity prediction
  • Network health analysis
  • Latency prediction
  • Bandwidth prediction
  • Failure prediction
  • Adaptive transport selection
  • Adaptive routing
  • Predictive synchronization
  • Resource optimization

Intelligent systems must operate within explicit privacy and security boundaries.

Resilience Module

The Resilience Module provides continued operation during infrastructure or network failures.

Capabilities include:

  • Automatic reconnection
  • Transport failover
  • Relay failover
  • Federation failover
  • Multi-path recovery
  • Offline operation
  • Store-and-forward delivery
  • Redundant routes
  • Redundant discovery services
  • Self-healing connections
  • Graceful degradation

Multi-Device Module

The Multi-Device Module allows applications to operate across multiple devices belonging to the same identity or application instance.

Capabilities include:

  • Device enrollment
  • Device verification
  • Device synchronization
  • Device removal
  • Device revocation
  • Device-specific keys
  • Multi-device session management
  • Device state synchronization
  • Secure device recovery

Media Communication Module

The Media Communication Module supports secure real-time media communication.

Capabilities include:

  • Encrypted audio
  • Encrypted video
  • Real-time streaming
  • Media negotiation
  • Adaptive media quality
  • Bandwidth adaptation
  • Peer-to-peer media transport
  • Federated media relay
  • Multi-party communication

IoT Communication Module

The IoT Communication Module allows applications to securely communicate with supported devices and embedded systems.

Capabilities include:

  • Device discovery
  • Device authentication
  • Device authorization
  • Encrypted commands
  • Encrypted telemetry
  • Device state synchronization
  • Secure remote operations
  • Event subscriptions
  • Device revocation

Analytics Module

The Analytics Module provides optional privacy-preserving network analytics.

Capabilities include:

  • Connection metrics
  • Latency metrics
  • Delivery success rates
  • Bandwidth measurements
  • Error rates
  • Transport performance
  • Network health
  • Anonymous performance aggregation

Analytics must not require access to encrypted application content.

Audit Module

The Audit Module provides mechanisms for verifying network and application behavior.

Capabilities include:

  • Security event records
  • Connection audit records
  • Authorization events
  • Key lifecycle events
  • Configuration changes
  • Integrity verification
  • Cryptographic audit records
  • Administrative audit logs

Audit records should minimize sensitive information and must not expose encrypted application content.

Optional Plugin Modules

FederNet supports optional plugins that extend functionality without requiring every implementation to include every capability.

File Sharing Plugin

Provides application-to-application file sharing with:

  • End-to-end encryption
  • Resumable transfers
  • File integrity verification
  • Transfer expiration
  • Access permissions
  • Transfer progress

Streaming Plugin

Provides encrypted real-time streaming for:

  • Audio
  • Video
  • Sensor data
  • Application streams
  • Live data feeds

Collaboration Plugin

Provides secure shared application state and collaborative workflows.

Capabilities include:

  • Shared documents
  • Shared application state
  • Real-time updates
  • Conflict resolution
  • Presence information
  • Collaborative permissions

Group Communication Plugin

Provides encrypted multi-application communication.

Capabilities include:

  • Secure groups
  • Group membership
  • Group key management
  • Group permissions
  • Member removal
  • Group state synchronization
  • Group messaging

Decentralized Identity Plugin

Provides optional decentralized identity capabilities.

Capabilities include:

  • DIDs
  • Verifiable credentials
  • Identity proofs
  • Identity discovery
  • Credential verification
  • Credential revocation

Post-Quantum Security Plugin

Provides optional post-quantum cryptographic mechanisms and hybrid cryptographic sessions.

The plugin must support migration between cryptographic algorithms without requiring application redesign.

Tor and I2P Networking Plugin

Provides optional privacy-oriented network transports for applications requiring additional network anonymity.

Distributed Discovery Plugin

Provides optional decentralized discovery using distributed hash tables and other distributed discovery mechanisms.

AI Routing Plugin

Provides optional intelligent routing capabilities for:

  • Route prediction
  • Network optimization
  • Failure prediction
  • Transport selection
  • Bandwidth optimization
  • Connectivity prediction

The plugin must not require access to plaintext application content.

Privacy Analytics Plugin

Provides privacy-preserving analytics using techniques such as aggregation, anonymization, or differential privacy.

IoT Device Plugin

Provides specialized integrations for supported IoT protocols and device ecosystems.

Matrix Federation Plugin

Provides optional interoperability with compatible Matrix infrastructure.

Encrypted Backup Plugin

Provides encrypted backup and recovery of supported application networking state.

Notification Plugin

Provides application notifications for:

  • New connections
  • Messages
  • Events
  • Synchronization changes
  • Connection failures
  • Security events

Developer Tools Plugin

Provides tools for:

  • Network simulation
  • Peer simulation
  • Latency simulation
  • Packet loss simulation
  • Offline testing
  • Security testing
  • Transport testing
  • Federation testing
  • Performance testing

Monitoring Plugin

Provides optional operational monitoring for:

  • Network health
  • Peer availability
  • Transport health
  • Relay health
  • Federation health
  • Delivery performance
  • Resource utilization

Testing Requirements

FederNet implementations should provide testing for:

  • Peer discovery
  • Connection establishment
  • Encryption
  • Authentication
  • Authorization
  • Key rotation
  • Key revocation
  • Message integrity
  • Replay protection
  • Offline operation
  • Synchronization
  • Routing
  • Federation
  • NAT traversal
  • Relay operation
  • Mesh networking
  • Transport failover
  • Multi-device operation
  • Plugin interoperability
  • Failure recovery

Network simulation should support testing under:

  • High latency
  • Packet loss
  • Limited bandwidth
  • Intermittent connectivity
  • Device failure
  • Relay failure
  • Federation failure
  • Transport failure
  • Offline operation

Specification Branding License (SBL)

Standard

Optional


License & Notice Requirements

FederNet is released under the GNU Affero General Public License v3.0 or later (AGPL-3.0+).
By contributing to this project, you agree that your contributions will also be released under this license.

Please note the following:

  • All contributions must comply with the AGPL-3.0+ terms.
  • Under Section 7 of the license, all redistributions, forks, and derivative works must preserve attribution to:
    Roxanne Ardary and roxanneardary.com.
  • FederNet specifications are free to use with attribution. A Specification Branding License can be negotiated upon request.
  • The project’s notice.md file tracks attribution requirements and contributor acknowledgments.
    Any update that adds new contributors or modifies attribution should also update notice.md.
  • When submitting a pull request, ensure that any new files maintain the attribution headers where applicable.
  • Network-deployed versions of this software must also remain fully AGPL-3.0+ compliant, including exposure of source code modifications when applicable under the license.

For full legal details, please refer to the AGPL-3.0+ license and the project’s notice.md file.


Notice – FederNet

Attribution Requirement: Under Section 7 of the AGPL 3.0+ license, all redistributions, forks, and derivative works, including network-deployed versions of this project, must provide attribution to Roxanne Ardary and roxanneardary.com.

Contributors

This file tracks contributors and their specific contributions to the project.

  • Roxanne Ardary, roxanneardary.com – March 11, 2026
    Created the repository for FederNet. Designed and implemented the core decentralized networking framework, end-to-end encryption, and federated communication features.
  • [Add other contributors here] – [Date]
    [Describe contribution in one sentence]

License – FederNet

This repository is licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0+).

Key Points:

  • You are free to use, modify, and distribute the code.
  • All redistributions, forks, and derivative works or network-deployed versions must also be licensed under AGPL-3.0+ and provide attribution to Roxanne Ardary and roxanneardary.com as required under Section 7 of the license.
  • The software is provided “as is,” without warranty of any kind.

For the full license text, see GNU AGPL-3.0 License.