Repository files navigation

DecentPaste

Universal Clipboard for Every Device — A cross-platform clipboard sharing app that works like Apple's Universal Clipboard, but for all platforms.

StableLicenseBuilt with Taurilibp2p

🆕 New Release — Actively developed with community feedback. Share your ideas!

DecentPaste Screenshot

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:

PlatformDownload
WindowsDecentPaste-x.x.x-windows
macOSDecentPaste-x.x.x-macos
LinuxDecentPaste-x.x.x-linux
AndroidDecentPaste-x.x.x-android
iOSComing soon

Build from Source

Prerequisites:

# 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/iOS, clipboard access is restricted for privacy. To share content:

Direct share: Select text in any app → Share → Choose DecentPaste Sent directly to paired devices — no clipboard involved.

Note: Keep the app open on both devices during pairing (background connections are not supported).

Security

📖 Read the full Security Documentation →

Includes architecture diagrams, threat model, and vulnerability reporting.

DecentPaste is designed with security as a priority:

LayerTechnologyPurpose
Key ExchangeX25519 ECDHShared secrets derived, never transmitted
EncryptionAES-256-GCMAuthenticated encryption for clipboard
StorageHardware-backed (TEE/Keychain)Platform-native secure key storage
Transportlibp2p NoiseEncrypted 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

ComponentTechnology
App FrameworkTauri v2
BackendRust
FrontendTypeScript + Tailwind CSS v4
Networkinglibp2p (mDNS, gossipsub, request-response)
Encryptionaes-gcm, x25519-dalek

Development

Running Two Instances (Testing)

# Terminal 1 - desktopcd decentpaste-app
yarn tauri dev
# Terminal 2 - android
yarn tauri android dev
# Terminal 3 - iOS
yarn tauri ios dev

Architecture Documentation

See ARCHITECTURE.md for detailed technical documentation.

Project Status

DecentPaste — actively developed.

AspectStatus
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 — I respond promptly.

Roadmap

  • Image and file clipboard support
  • Internet relay for cross-network sync (leverages libp2p Kademlia DHT)
  • Hardware-backed vault security (TEE/Secure Enclave/Keychain)
  • Zeroization: Keys cleared from memory on lock
  • Encrypted vault storage
  • Persistent clipboard history
  • 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 file for details.

Trademark

"DecentPaste" and the DecentPaste logo are trademarks. See 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 — For the amazing cross-platform framework
  • libp2p — For decentralized networking
  • RustCrypto — For cryptographic primitives

DecentPaste — Your clipboard, everywhere.
GitHub · Issues · Releases

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

DecentPaste

Universal Clipboard for Every Device — A cross-platform clipboard sharing app that works like Apple's Universal Clipboard, but for all platforms.

StableLicenseBuilt with Taurilibp2p

🆕 New Release — Actively developed with community feedback. Share your ideas!

DecentPaste Screenshot

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:

PlatformDownload
WindowsDecentPaste-x.x.x-windows
macOSDecentPaste-x.x.x-macos
LinuxDecentPaste-x.x.x-linux
AndroidDecentPaste-x.x.x-android
iOSComing soon

Build from Source

Prerequisites:

# 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/iOS, clipboard access is restricted for privacy. To share content:

Direct share: Select text in any app → Share → Choose DecentPaste Sent directly to paired devices — no clipboard involved.

Note: Keep the app open on both devices during pairing (background connections are not supported).

Security

📖 Read the full Security Documentation →

Includes architecture diagrams, threat model, and vulnerability reporting.

DecentPaste is designed with security as a priority:

LayerTechnologyPurpose
Key ExchangeX25519 ECDHShared secrets derived, never transmitted
EncryptionAES-256-GCMAuthenticated encryption for clipboard
StorageHardware-backed (TEE/Keychain)Platform-native secure key storage
Transportlibp2p NoiseEncrypted 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

ComponentTechnology
App FrameworkTauri v2
BackendRust
FrontendTypeScript + Tailwind CSS v4
Networkinglibp2p (mDNS, gossipsub, request-response)
Encryptionaes-gcm, x25519-dalek

Development

Running Two Instances (Testing)

# Terminal 1 - desktopcd decentpaste-app
yarn tauri dev
# Terminal 2 - android
yarn tauri android dev
# Terminal 3 - iOS
yarn tauri ios dev

Architecture Documentation

See ARCHITECTURE.md for detailed technical documentation.

Project Status

DecentPaste — actively developed.

AspectStatus
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 — I respond promptly.

Roadmap

  • Image and file clipboard support
  • Internet relay for cross-network sync (leverages libp2p Kademlia DHT)
  • Hardware-backed vault security (TEE/Secure Enclave/Keychain)
  • Zeroization: Keys cleared from memory on lock
  • Encrypted vault storage
  • Persistent clipboard history
  • 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 file for details.

Trademark

"DecentPaste" and the DecentPaste logo are trademarks. See 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 — For the amazing cross-platform framework
  • libp2p — For decentralized networking
  • RustCrypto — For cryptographic primitives

DecentPaste — Your clipboard, everywhere.
GitHub · Issues · Releases

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

DecentPaste

Universal Clipboard for Every Device — A cross-platform clipboard sharing app that works like Apple's Universal Clipboard, but for all platforms.

StableLicenseBuilt with Taurilibp2p

🆕 New Release — Actively developed with community feedback. Share your ideas!

DecentPaste Screenshot

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:

PlatformDownload
WindowsDecentPaste-x.x.x-windows
macOSDecentPaste-x.x.x-macos
LinuxDecentPaste-x.x.x-linux
AndroidDecentPaste-x.x.x-android
iOSComing soon

Build from Source

Prerequisites:

# 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/iOS, clipboard access is restricted for privacy. To share content:

Direct share: Select text in any app → Share → Choose DecentPaste Sent directly to paired devices — no clipboard involved.

Note: Keep the app open on both devices during pairing (background connections are not supported).

Security

📖 Read the full Security Documentation →

Includes architecture diagrams, threat model, and vulnerability reporting.

DecentPaste is designed with security as a priority:

LayerTechnologyPurpose
Key ExchangeX25519 ECDHShared secrets derived, never transmitted
EncryptionAES-256-GCMAuthenticated encryption for clipboard
StorageHardware-backed (TEE/Keychain)Platform-native secure key storage
Transportlibp2p NoiseEncrypted 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

ComponentTechnology
App FrameworkTauri v2
BackendRust
FrontendTypeScript + Tailwind CSS v4
Networkinglibp2p (mDNS, gossipsub, request-response)
Encryptionaes-gcm, x25519-dalek

Development

Running Two Instances (Testing)

# Terminal 1 - desktopcd decentpaste-app
yarn tauri dev
# Terminal 2 - android
yarn tauri android dev
# Terminal 3 - iOS
yarn tauri ios dev

Architecture Documentation

See ARCHITECTURE.md for detailed technical documentation.

Project Status

DecentPaste — actively developed.

AspectStatus
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 — I respond promptly.

Roadmap

  • Image and file clipboard support
  • Internet relay for cross-network sync (leverages libp2p Kademlia DHT)
  • Hardware-backed vault security (TEE/Secure Enclave/Keychain)
  • Zeroization: Keys cleared from memory on lock
  • Encrypted vault storage
  • Persistent clipboard history
  • 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 file for details.

Trademark

"DecentPaste" and the DecentPaste logo are trademarks. See 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 — For the amazing cross-platform framework
  • libp2p — For decentralized networking
  • RustCrypto — For cryptographic primitives

DecentPaste — Your clipboard, everywhere.
GitHub · Issues · Releases

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

DecentPaste

Universal Clipboard for Every Device — A cross-platform clipboard sharing app that works like Apple's Universal Clipboard, but for all platforms.

StableLicenseBuilt with Taurilibp2p

🆕 New Release — Actively developed with community feedback. Share your ideas!

DecentPaste Screenshot

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:

PlatformDownload
WindowsDecentPaste-x.x.x-windows
macOSDecentPaste-x.x.x-macos
LinuxDecentPaste-x.x.x-linux
AndroidDecentPaste-x.x.x-android
iOSComing soon

Build from Source

Prerequisites:

# 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/iOS, clipboard access is restricted for privacy. To share content:

Direct share: Select text in any app → Share → Choose DecentPaste Sent directly to paired devices — no clipboard involved.

Note: Keep the app open on both devices during pairing (background connections are not supported).

Security

📖 Read the full Security Documentation →

Includes architecture diagrams, threat model, and vulnerability reporting.

DecentPaste is designed with security as a priority:

LayerTechnologyPurpose
Key ExchangeX25519 ECDHShared secrets derived, never transmitted
EncryptionAES-256-GCMAuthenticated encryption for clipboard
StorageHardware-backed (TEE/Keychain)Platform-native secure key storage
Transportlibp2p NoiseEncrypted 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

ComponentTechnology
App FrameworkTauri v2
BackendRust
FrontendTypeScript + Tailwind CSS v4
Networkinglibp2p (mDNS, gossipsub, request-response)
Encryptionaes-gcm, x25519-dalek

Development

Running Two Instances (Testing)

# Terminal 1 - desktopcd decentpaste-app
yarn tauri dev
# Terminal 2 - android
yarn tauri android dev
# Terminal 3 - iOS
yarn tauri ios dev

Architecture Documentation

See ARCHITECTURE.md for detailed technical documentation.

Project Status

DecentPaste — actively developed.

AspectStatus
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 — I respond promptly.

Roadmap

  • Image and file clipboard support
  • Internet relay for cross-network sync (leverages libp2p Kademlia DHT)
  • Hardware-backed vault security (TEE/Secure Enclave/Keychain)
  • Zeroization: Keys cleared from memory on lock
  • Encrypted vault storage
  • Persistent clipboard history
  • 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 file for details.

Trademark

"DecentPaste" and the DecentPaste logo are trademarks. See 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 — For the amazing cross-platform framework
  • libp2p — For decentralized networking
  • RustCrypto — For cryptographic primitives

DecentPaste — Your clipboard, everywhere.
GitHub · Issues · Releases

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

DecentPaste

Universal Clipboard for Every Device — A cross-platform clipboard sharing app that works like Apple's Universal Clipboard, but for all platforms.

StableLicenseBuilt with Taurilibp2p

🆕 New Release — Actively developed with community feedback. Share your ideas!

DecentPaste Screenshot

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:

PlatformDownload
WindowsDecentPaste-x.x.x-windows
macOSDecentPaste-x.x.x-macos
LinuxDecentPaste-x.x.x-linux
AndroidDecentPaste-x.x.x-android
iOSComing soon

Build from Source

Prerequisites:

# 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/iOS, clipboard access is restricted for privacy. To share content:

Direct share: Select text in any app → Share → Choose DecentPaste Sent directly to paired devices — no clipboard involved.

Note: Keep the app open on both devices during pairing (background connections are not supported).

Security

📖 Read the full Security Documentation →

Includes architecture diagrams, threat model, and vulnerability reporting.

DecentPaste is designed with security as a priority:

LayerTechnologyPurpose
Key ExchangeX25519 ECDHShared secrets derived, never transmitted
EncryptionAES-256-GCMAuthenticated encryption for clipboard
StorageHardware-backed (TEE/Keychain)Platform-native secure key storage
Transportlibp2p NoiseEncrypted 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

ComponentTechnology
App FrameworkTauri v2
BackendRust
FrontendTypeScript + Tailwind CSS v4
Networkinglibp2p (mDNS, gossipsub, request-response)
Encryptionaes-gcm, x25519-dalek

Development

Running Two Instances (Testing)

# Terminal 1 - desktopcd decentpaste-app
yarn tauri dev
# Terminal 2 - android
yarn tauri android dev
# Terminal 3 - iOS
yarn tauri ios dev

Architecture Documentation

See ARCHITECTURE.md for detailed technical documentation.

Project Status

DecentPaste — actively developed.

AspectStatus
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 — I respond promptly.

Roadmap

  • Image and file clipboard support
  • Internet relay for cross-network sync (leverages libp2p Kademlia DHT)
  • Hardware-backed vault security (TEE/Secure Enclave/Keychain)
  • Zeroization: Keys cleared from memory on lock
  • Encrypted vault storage
  • Persistent clipboard history
  • 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 file for details.

Trademark

"DecentPaste" and the DecentPaste logo are trademarks. See 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 — For the amazing cross-platform framework
  • libp2p — For decentralized networking
  • RustCrypto — For cryptographic primitives

DecentPaste — Your clipboard, everywhere.
GitHub · Issues · Releases

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

DecentPaste

Universal Clipboard for Every Device — A cross-platform clipboard sharing app that works like Apple's Universal Clipboard, but for all platforms.

StableLicenseBuilt with Taurilibp2p

🆕 New Release — Actively developed with community feedback. Share your ideas!

DecentPaste Screenshot

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:

PlatformDownload
WindowsDecentPaste-x.x.x-windows
macOSDecentPaste-x.x.x-macos
LinuxDecentPaste-x.x.x-linux
AndroidDecentPaste-x.x.x-android
iOSComing soon

Build from Source

Prerequisites:

# 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/iOS, clipboard access is restricted for privacy. To share content:

Direct share: Select text in any app → Share → Choose DecentPaste Sent directly to paired devices — no clipboard involved.

Note: Keep the app open on both devices during pairing (background connections are not supported).

Security

📖 Read the full Security Documentation →

Includes architecture diagrams, threat model, and vulnerability reporting.

DecentPaste is designed with security as a priority:

LayerTechnologyPurpose
Key ExchangeX25519 ECDHShared secrets derived, never transmitted
EncryptionAES-256-GCMAuthenticated encryption for clipboard
StorageHardware-backed (TEE/Keychain)Platform-native secure key storage
Transportlibp2p NoiseEncrypted 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

ComponentTechnology
App FrameworkTauri v2
BackendRust
FrontendTypeScript + Tailwind CSS v4
Networkinglibp2p (mDNS, gossipsub, request-response)
Encryptionaes-gcm, x25519-dalek

Development

Running Two Instances (Testing)

# Terminal 1 - desktopcd decentpaste-app
yarn tauri dev
# Terminal 2 - android
yarn tauri android dev
# Terminal 3 - iOS
yarn tauri ios dev

Architecture Documentation

See ARCHITECTURE.md for detailed technical documentation.

Project Status

DecentPaste — actively developed.

AspectStatus
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 — I respond promptly.

Roadmap

  • Image and file clipboard support
  • Internet relay for cross-network sync (leverages libp2p Kademlia DHT)
  • Hardware-backed vault security (TEE/Secure Enclave/Keychain)
  • Zeroization: Keys cleared from memory on lock
  • Encrypted vault storage
  • Persistent clipboard history
  • 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 file for details.

Trademark

"DecentPaste" and the DecentPaste logo are trademarks. See 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 — For the amazing cross-platform framework
  • libp2p — For decentralized networking
  • RustCrypto — For cryptographic primitives

DecentPaste — Your clipboard, everywhere.
GitHub · Issues · Releases

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

DecentPaste

Universal Clipboard for Every Device — A cross-platform clipboard sharing app that works like Apple's Universal Clipboard, but for all platforms.

StableLicenseBuilt with Taurilibp2p

🆕 New Release — Actively developed with community feedback. Share your ideas!

DecentPaste Screenshot

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:

PlatformDownload
WindowsDecentPaste-x.x.x-windows
macOSDecentPaste-x.x.x-macos
LinuxDecentPaste-x.x.x-linux
AndroidDecentPaste-x.x.x-android
iOSComing soon

Build from Source

Prerequisites:

# 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/iOS, clipboard access is restricted for privacy. To share content:

Direct share: Select text in any app → Share → Choose DecentPaste Sent directly to paired devices — no clipboard involved.

Note: Keep the app open on both devices during pairing (background connections are not supported).

Security

📖 Read the full Security Documentation →

Includes architecture diagrams, threat model, and vulnerability reporting.

DecentPaste is designed with security as a priority:

LayerTechnologyPurpose
Key ExchangeX25519 ECDHShared secrets derived, never transmitted
EncryptionAES-256-GCMAuthenticated encryption for clipboard
StorageHardware-backed (TEE/Keychain)Platform-native secure key storage
Transportlibp2p NoiseEncrypted 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

ComponentTechnology
App FrameworkTauri v2
BackendRust
FrontendTypeScript + Tailwind CSS v4
Networkinglibp2p (mDNS, gossipsub, request-response)
Encryptionaes-gcm, x25519-dalek

Development

Running Two Instances (Testing)

# Terminal 1 - desktopcd decentpaste-app
yarn tauri dev
# Terminal 2 - android
yarn tauri android dev
# Terminal 3 - iOS
yarn tauri ios dev

Architecture Documentation

See ARCHITECTURE.md for detailed technical documentation.

Project Status

DecentPaste — actively developed.

AspectStatus
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 — I respond promptly.

Roadmap

  • Image and file clipboard support
  • Internet relay for cross-network sync (leverages libp2p Kademlia DHT)
  • Hardware-backed vault security (TEE/Secure Enclave/Keychain)
  • Zeroization: Keys cleared from memory on lock
  • Encrypted vault storage
  • Persistent clipboard history
  • 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 file for details.

Trademark

"DecentPaste" and the DecentPaste logo are trademarks. See 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 — For the amazing cross-platform framework
  • libp2p — For decentralized networking
  • RustCrypto — For cryptographic primitives

DecentPaste — Your clipboard, everywhere.
GitHub · Issues · Releases

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

DecentPaste

Universal Clipboard for Every Device — A cross-platform clipboard sharing app that works like Apple's Universal Clipboard, but for all platforms.

StableLicenseBuilt with Taurilibp2p

🆕 New Release — Actively developed with community feedback. Share your ideas!

DecentPaste Screenshot

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:

PlatformDownload
WindowsDecentPaste-x.x.x-windows
macOSDecentPaste-x.x.x-macos
LinuxDecentPaste-x.x.x-linux
AndroidDecentPaste-x.x.x-android
iOSComing soon

Build from Source

Prerequisites:

# 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/iOS, clipboard access is restricted for privacy. To share content:

Direct share: Select text in any app → Share → Choose DecentPaste Sent directly to paired devices — no clipboard involved.

Note: Keep the app open on both devices during pairing (background connections are not supported).

Security

📖 Read the full Security Documentation →

Includes architecture diagrams, threat model, and vulnerability reporting.

DecentPaste is designed with security as a priority:

LayerTechnologyPurpose
Key ExchangeX25519 ECDHShared secrets derived, never transmitted
EncryptionAES-256-GCMAuthenticated encryption for clipboard
StorageHardware-backed (TEE/Keychain)Platform-native secure key storage
Transportlibp2p NoiseEncrypted 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

ComponentTechnology
App FrameworkTauri v2
BackendRust
FrontendTypeScript + Tailwind CSS v4
Networkinglibp2p (mDNS, gossipsub, request-response)
Encryptionaes-gcm, x25519-dalek

Development

Running Two Instances (Testing)

# Terminal 1 - desktopcd decentpaste-app
yarn tauri dev
# Terminal 2 - android
yarn tauri android dev
# Terminal 3 - iOS
yarn tauri ios dev

Architecture Documentation

See ARCHITECTURE.md for detailed technical documentation.

Project Status

DecentPaste — actively developed.

AspectStatus
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 — I respond promptly.

Roadmap

  • Image and file clipboard support
  • Internet relay for cross-network sync (leverages libp2p Kademlia DHT)
  • Hardware-backed vault security (TEE/Secure Enclave/Keychain)
  • Zeroization: Keys cleared from memory on lock
  • Encrypted vault storage
  • Persistent clipboard history
  • 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 file for details.

Trademark

"DecentPaste" and the DecentPaste logo are trademarks. See 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 — For the amazing cross-platform framework
  • libp2p — For decentralized networking
  • RustCrypto — For cryptographic primitives

DecentPaste — Your clipboard, everywhere.
GitHub · Issues · Releases