https://github.com/decentpaste/decentpaste
Universal Clipboard for Every Device
https://github.com/decentpaste/decentpaste
aes-256 android clipboard cross-platform decentralized desktop-app encryption end-to-end-encryption file-sharing ios libp2p linux macos mobile-app p2p privacy rust tauri universal-clipboard windows
Last synced: 2 months ago
JSON representation
Universal Clipboard for Every Device
- Host: GitHub
- URL: https://github.com/decentpaste/decentpaste
- Owner: decentpaste
- License: apache-2.0
- Created: 2025-12-02T23:20:55.000Z (4 months ago)
- Default Branch: dev
- Last Pushed: 2026-01-10T23:04:26.000Z (3 months ago)
- Last Synced: 2026-01-11T06:29:47.255Z (3 months ago)
- Topics: aes-256, android, clipboard, cross-platform, decentralized, desktop-app, encryption, end-to-end-encryption, file-sharing, ios, libp2p, linux, macos, mobile-app, p2p, privacy, rust, tauri, universal-clipboard, windows
- Language: Rust
- Homepage: https://decentpaste.com
- Size: 8.92 MB
- Stars: 124
- Watchers: 1
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
- Notice: NOTICE
Awesome Lists containing this project
- awesome-tauri - DecentPaste - Cross-platform clipboard sharing over local network with P2P encryption. (Applications / Utilities)
README
# DecentPaste
**Universal Clipboard for Every Device** โ A cross-platform clipboard sharing app that works like Apple's Universal Clipboard, but for all platforms.
[](https://github.com/decentpaste/decentpaste/releases)
[](LICENSE)
[](https://tauri.app)
[](https://libp2p.io)
> ๐ **New Release** โ Actively developed with community feedback. [Share your ideas!](https://github.com/decentpaste/decentpaste/issues)
## What is DecentPaste?
DecentPaste lets you seamlessly share your clipboard between all your devices over your local network. Copy on your laptop, paste on your phone. No cloud servers, no accounts, no subscriptions โ just secure, peer-to-peer clipboard sync.
### Key Features
- **Cross-Platform** โ Works on Windows, macOS, Linux, Android, and iOS
- **Decentralized** โ No central server; devices connect directly via P2P
- **Auto-Discovery** โ Devices find each other automatically on your local network
- **End-to-End Encrypted** โ AES-256-GCM encryption; only paired devices can read your clipboard
- **Secure Pairing** โ 6-digit PIN verification with X25519 key exchange
- **Lightweight** โ Small binary size (~15MB) thanks to Tauri
- **Open Source** โ Apache 2.0 licensed
## How It Works
1. **Discovery**: Devices find each other using mDNS
2. **Pairing**: One-time secure pairing with PIN verification establishes a shared secret
3. **Sync**: Clipboard changes are encrypted and broadcast to paired devices
4. **Receive**: Paired devices decrypt and update their clipboard automatically
## Installation
### Pre-built Binaries
Download the latest release for your platform:
| Platform | Download |
|----------|----------------------------------------------------------------------------------|
| Windows | [DecentPaste-x.x.x-windows](https://github.com/decentpaste/decentpaste/releases) |
| macOS | [DecentPaste-x.x.x-macos](https://github.com/decentpaste/decentpaste/releases) |
| Linux | [DecentPaste-x.x.x-linux](https://github.com/decentpaste/decentpaste/releases) |
| Android | [DecentPaste-x.x.x-android](https://github.com/decentpaste/decentpaste/releases) |
| iOS | Coming soon |
### Build from Source
**Prerequisites:**
- [Rust](https://rustup.rs/) (1.70+)
- [Node.js](https://nodejs.org/) (18+)
- [Yarn](https://yarnpkg.com/)
- Platform-specific requirements for [Tauri](https://tauri.app/start/prerequisites/)
```bash
# Clone the repository
git clone https://github.com/decentpaste/decentpaste.git
cd decentpaste/decentpaste-app
# Install dependencies
yarn install
# Run in development mode
yarn tauri dev
# Build for production
yarn tauri build
```
## Usage
### Getting Started
1. **Install** DecentPaste on two or more devices
2. **Ensure** devices are on the same local network (Wi-Fi/LAN)
3. **Open** the app โ devices will discover each other automatically
4. **Pair** devices using the 6-digit PIN (out-of-band MITM protection)
5. **Copy** on one device, **paste** on another!
### Pairing Devices
1. On Device A: Go to **Devices** โ Click **Pair** next to the discovered device
2. On Device B: Accept the pairing request
3. Both devices display a **6-digit PIN** โ verify they match
4. Confirm on Device A
5. Done! Devices are now paired and will sync automatically
### Mobile Usage
On Android, clipboard access is restricted for privacy. Two ways to share:
1. **Direct share** (easiest): Select text in any app โ Share โ Choose **DecentPaste**
Sent directly to paired devices โ no clipboard involved.
2. **Via clipboard**: Select text โ Share โ "Copy to clipboard" โ Open DecentPaste โ Tap **"Share Now"**
**Note**: Keep the app open on both devices during pairing (background connections are not supported).
## Security
> **๐ [Read the full Security Documentation โ](SECURITY.md)**
>
> Includes architecture diagrams, threat model, and vulnerability reporting.
DecentPaste is designed with security as a priority:
| Layer | Technology | Purpose |
|------------------|--------------------------------|-------------------------------------------|
| **Key Exchange** | X25519 ECDH | Shared secrets derived, never transmitted |
| **Encryption** | AES-256-GCM | Authenticated encryption for clipboard |
| **Storage** | Hardware-backed (TEE/Keychain) | Platform-native secure key storage |
| **Transport** | libp2p Noise | Encrypted P2P connections |
**Key security properties:**
- **Local-only**: Data never leaves your network (mDNS discovery)
- **Zero-knowledge pairing**: 6-digit PIN + ECDH key exchange
- **Per-peer encryption**: Each device pair has a unique key
- **Auto-lock**: Vault locks after configurable inactivity
## Tech Stack
| Component | Technology |
|-------------------|----------------------------------------------------------------------------------------------------|
| **App Framework** | [Tauri v2](https://tauri.app) |
| **Backend** | Rust |
| **Frontend** | TypeScript + [Tailwind CSS v4](https://tailwindcss.com) |
| **Networking** | [libp2p](https://libp2p.io) (mDNS, gossipsub, request-response) |
| **Encryption** | [aes-gcm](https://crates.io/crates/aes-gcm), [x25519-dalek](https://crates.io/crates/x25519-dalek) |
## Development
### Running Two Instances (Testing)
```bash
# Terminal 1 - desktop
cd decentpaste-app
yarn tauri dev
# Terminal 2 - android
yarn tauri android dev
# Terminal 3 - iOS
yarn tauri ios dev
```
### Architecture Documentation
See [ARCHITECTURE.md](ARCHITECTURE.md) for detailed technical documentation.
## Project Status
**DecentPaste** โ actively developed.
| Aspect | Status |
|------------------------|------------------------------------------------------------|
| **Core functionality** | โ
Reliable for daily use |
| **Cryptography** | โ
(X25519 ECDH, AES-256-GCM, Argon2id) |
| **Privacy** | โ
Local-only โ data never leaves your network |
| **Security** | โ
Hardware-backed storage (TEE/Keychain) with PIN fallback |
| **Active Development** | ๐ New features shipping regularly |
The local-only design (mDNS) significantly limits the attack surface compared to cloud-based alternatives. Security issues? [Open an issue](https://github.com/decentpaste/decentpaste/issues) โ I respond promptly.
## Roadmap
- [ ] Image and file clipboard support
- [ ] Internet relay for cross-network sync (leverages libp2p Kademlia DHT)
- [x] Hardware-backed vault security (TEE/Secure Enclave/Keychain)
- [x] Zeroization: Keys cleared from memory on lock
- [x] Encrypted vault storage
- [x] Persistent clipboard history
- [x] System tray improvements
## Contributing
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'use conventional commits'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the **Apache License 2.0** โ see the [LICENSE](LICENSE) file for details.
### Trademark
"DecentPaste" and the DecentPaste logo are trademarks. See [TRADEMARK.md](TRADEMARK.md) for usage guidelines.
**Note**: The Apache 2.0 license grants rights to the code but does not grant rights to use the DecentPaste trademarks or logos.
## Acknowledgments
- [Tauri](https://tauri.app) โ For the amazing cross-platform framework
- [libp2p](https://libp2p.io) โ For decentralized networking
- [RustCrypto](https://github.com/RustCrypto) โ For cryptographic primitives
---
DecentPaste โ Your clipboard, everywhere.
GitHub ยท
Issues ยท
Releases