[GH-ISSUE #4562] [FR] Request for Peer-to-Peer and End-to End Encrypted Sync Feature on Local Networks. #2048

Closed
opened 2026-03-23 21:19:13 +00:00 by mirror · 6 comments
Owner

Originally created by @nikunjkumarnakum on GitHub (Jan 31, 2024).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/4562

Description

I am proposing the inclusion of a robust Peer-to-Peer (P2P) synchronization feature enhanced with End-to-End Encryption for our application. This feature aims to empower users to seamlessly sync data between devices on the same local network while ensuring the highest level of security and privacy.

Impact

Collaborative Teams:

Use Case: Teams working in close proximity, such as in an office environment.

Benefit: Enables real-time collaboration and data synchronization between team members without relying on external servers, leading to increased efficiency and productivity.

Small Businesses:

Use Case: Small businesses with multiple devices used by a limited number of employees.

Benefit: Offers a cost-effective and decentralized synchronization solution, contributing to data consistency and collaboration among team members without the need for complex server setups.

Privacy-Conscious Users:

Use Case: Individuals or organizations with concerns about data privacy and prefer local network solutions.

Benefit: Provides a sync option that does not involve external servers, enhancing data privacy and security.

Remote Areas or Limited Connectivity Environments:

Use Case: Users in areas with intermittent or limited internet connectivity.

Benefit: Enables synchronization between devices within the same local network even when internet access is challenging, ensuring continuity of work or collaboration.

Families and Home Networks:

Use Case: Family members sharing files or media within a household.

Benefit: Simplifies the sharing and syncing of data between family members on different devices within the same local network, fostering a seamless home computing experience.

Additional Context

Redundancy:

In a P2P environment, redundancy is improved, as data can be distributed across multiple devices. This enhances data resilience and availability, reducing the risk of data loss in case of device failures.

Offline Collaboration:

The feature emphasizes the ability to synchronize data even when devices are temporarily offline. This is particularly beneficial in scenarios where a stable internet connection cannot be guaranteed, ensuring uninterrupted collaboration and data access.

Cross-Platform Compatibility:

To maximize usability, the feature should aim for cross-platform compatibility, supporting various operating systems and devices commonly found in local network environments. This inclusivity ensures a broader reach and adoption across diverse user scenarios.

Enhanced Security and Confidentiality:

The integration of End-to-End Encryption ensures that all synchronized data is encrypted on the sender's device and can only be decrypted on the recipient's device. This level of security guarantees that even if the data is intercepted during transmission, it remains confidential and inaccessible to unauthorized entities.

Minimizing Server Dependency:

By focusing on local network synchronization, the feature aims to reduce dependency on external servers. This not only addresses privacy concerns but also mitigates potential issues related to server downtime or maintenance, providing a more robust and self-sufficient solution.

Mitigation of Third-Party Risks:

Reduced Dependence on External Servers: Minimizing reliance on external servers not only enhances privacy but also reduces the risks associated with third-party service providers. Users can have greater confidence in the security of their data, knowing that the synchronization process occurs directly between trusted devices on the local network.

Scalability in Large Local Networks:

Scalable Performance: The P2P architecture inherently scales with the number of connected devices. This scalability is crucial, particularly in large local networks where numerous devices may need to synchronize data simultaneously. The feature ensures optimal performance even in such environments.

Originally created by @nikunjkumarnakum on GitHub (Jan 31, 2024). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/4562 ### Description I am proposing the inclusion of a robust Peer-to-Peer (P2P) synchronization feature enhanced with End-to-End Encryption for our application. This feature aims to empower users to seamlessly sync data between devices on the same local network while ensuring the highest level of security and privacy. ### Impact Collaborative Teams: > Use Case: Teams working in close proximity, such as in an office environment. > Benefit: Enables real-time collaboration and data synchronization between team members without relying on external servers, leading to increased efficiency and productivity. Small Businesses: > Use Case: Small businesses with multiple devices used by a limited number of employees. > Benefit: Offers a cost-effective and decentralized synchronization solution, contributing to data consistency and collaboration among team members without the need for complex server setups. Privacy-Conscious Users: > Use Case: Individuals or organizations with concerns about data privacy and prefer local network solutions. > Benefit: Provides a sync option that does not involve external servers, enhancing data privacy and security. Remote Areas or Limited Connectivity Environments: > Use Case: Users in areas with intermittent or limited internet connectivity. > Benefit: Enables synchronization between devices within the same local network even when internet access is challenging, ensuring continuity of work or collaboration. Families and Home Networks: > Use Case: Family members sharing files or media within a household. > Benefit: Simplifies the sharing and syncing of data between family members on different devices within the same local network, fostering a seamless home computing experience. ### Additional Context ### **Redundancy:** In a P2P environment, redundancy is improved, as data can be distributed across multiple devices. This enhances data resilience and availability, reducing the risk of data loss in case of device failures. ### **Offline Collaboration:** The feature emphasizes the ability to synchronize data even when devices are temporarily offline. This is particularly beneficial in scenarios where a stable internet connection cannot be guaranteed, ensuring uninterrupted collaboration and data access. ### **Cross-Platform Compatibility:** To maximize usability, the feature should aim for cross-platform compatibility, supporting various operating systems and devices commonly found in local network environments. This inclusivity ensures a broader reach and adoption across diverse user scenarios. ### **Enhanced Security and Confidentiality:** The integration of End-to-End Encryption ensures that all synchronized data is encrypted on the sender's device and can only be decrypted on the recipient's device. This level of security guarantees that even if the data is intercepted during transmission, it remains confidential and inaccessible to unauthorized entities. ### **Minimizing Server Dependency:** By focusing on local network synchronization, the feature aims to reduce dependency on external servers. This not only addresses privacy concerns but also mitigates potential issues related to server downtime or maintenance, providing a more robust and self-sufficient solution. ### **Mitigation of Third-Party Risks:** Reduced Dependence on External Servers: Minimizing reliance on external servers not only enhances privacy but also reduces the risks associated with third-party service providers. Users can have greater confidence in the security of their data, knowing that the synchronization process occurs directly between trusted devices on the local network. ### **Scalability in Large Local Networks:** Scalable Performance: The P2P architecture inherently scales with the number of connected devices. This scalability is crucial, particularly in large local networks where numerous devices may need to synchronize data simultaneously. The feature ensures optimal performance even in such environments.
mirror 2026-03-23 21:19:13 +00:00
Author
Owner

@ieuze commented on GitHub (Apr 10, 2024):

What is the benefits of E2E if all traffic are aimed to "seamlessly sync data between devices on the same local network"? Are there untrusted devices on the chain in local? A general P2P implementation with basic encryption will suffice.
Meanwhile it is much easier and likely to implement if these processes are handled by a different project not limited to a specific pkm program, like syncthing.

<!-- gh-comment-id:2047707030 --> @ieuze commented on GitHub (Apr 10, 2024): What is the benefits of E2E if all traffic are aimed to "seamlessly sync data between devices on the same local network"? Are there untrusted devices on the chain in local? A general P2P implementation with basic encryption will suffice. Meanwhile it is much easier and likely to implement if these processes are handled by a different project not limited to a specific pkm program, like syncthing.
Author
Owner

@trymeouteh commented on GitHub (Jul 10, 2024):

I would like this feature and it would be great to see it done in two ways.

  1. P2P E2EE syncing between devices on a local network
  2. E2EE syncing between devices using servers as syncing relays. Servers will not store notes but help sync notes

https://forum.appflowy.io/t/p2p-syncing-syncing-data-between-devices/931

<!-- gh-comment-id:2219534357 --> @trymeouteh commented on GitHub (Jul 10, 2024): I would like this feature and it would be great to see it done in two ways. 1. P2P E2EE syncing between devices on a local network 2. E2EE syncing between devices using servers as syncing relays. Servers will not store notes but help sync notes https://forum.appflowy.io/t/p2p-syncing-syncing-data-between-devices/931
Author
Owner

@nikunjkumarnakum commented on GitHub (Sep 12, 2024):

@yuuz233 Thanks for your input! Here’s why E2E encryption and P2P sync are both important.
For E2E Encryption I would say.
Security: Even on a local network, E2E encryption ensures data is protected from unauthorized access and internal threats, maintaining privacy and user trust.
Future-Proofing: It safeguards against potential future security issues and prepares us for scenarios where devices might be compromised.
and about P2P sync
Efficiency: Enables real-time data sharing and collaboration directly between devices without relying on external servers.
Offline Use: Works even without internet access, which is ideal for remote or low-connectivity environments.
Cost-Effective: Reduces the need for server infrastructure, saving costs and simplifying setup.
Combining both: Integrating E2E with P2P sync offers robust security while leveraging the benefits of local synchronization.
Regarding Syncthing Using an external tool could limit our ability to tailor the sync process to our specific needs and might introduce additional dependencies or integration challenges. While Syncthing is effective, it may not seamlessly integrate with our app’s existing features and workflows

<!-- gh-comment-id:2345329999 --> @nikunjkumarnakum commented on GitHub (Sep 12, 2024): @yuuz233 Thanks for your input! Here’s why E2E encryption and P2P sync are both important. For E2E Encryption I would say. Security: Even on a local network, E2E encryption ensures data is protected from unauthorized access and internal threats, maintaining privacy and user trust. Future-Proofing: It safeguards against potential future security issues and prepares us for scenarios where devices might be compromised. and about P2P sync Efficiency: Enables real-time data sharing and collaboration directly between devices without relying on external servers. Offline Use: Works even without internet access, which is ideal for remote or low-connectivity environments. Cost-Effective: Reduces the need for server infrastructure, saving costs and simplifying setup. Combining both: Integrating E2E with P2P sync offers robust security while leveraging the benefits of local synchronization. Regarding Syncthing Using an external tool could limit our ability to tailor the sync process to our specific needs and might introduce additional dependencies or integration challenges. While Syncthing is effective, it may not seamlessly integrate with our app’s existing features and workflows
Author
Owner

@nathfavour commented on GitHub (Oct 25, 2024):

good point

<!-- gh-comment-id:2437751694 --> @nathfavour commented on GitHub (Oct 25, 2024): good point
Author
Owner

@tomByrer commented on GitHub (Dec 12, 2024):

Hi, what is the status on this?

<!-- gh-comment-id:2540090275 --> @tomByrer commented on GitHub (Dec 12, 2024): Hi, what is the status on this?
Author
Owner

@trymeouteh commented on GitHub (Jun 6, 2025):

https://forum.appflowy.io/t/p2p-syncing-syncing-data-between-devices/931

https://github.com/AppFlowy-IO/AppFlowy/issues/8036

Would like to see E2EE for sure and having P2P syncing would be nice to have.

<!-- gh-comment-id:2950070905 --> @trymeouteh commented on GitHub (Jun 6, 2025): https://forum.appflowy.io/t/p2p-syncing-syncing-data-between-devices/931 https://github.com/AppFlowy-IO/AppFlowy/issues/8036 Would like to see E2EE for sure and having P2P syncing would be nice to have.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#2048
No description provided.