Duple Documentation and Tutorials
Q: What is Duple?

A: Duple is about making privacy super simple and accessible to everyone. Duple is an app that gives you your own private cloud at home in just 3 clicks.
It’s plug and play. Just plug any USB key (or hard drive) to your internet router, download the app on your devices, and that's it! You've got your own private Dropbox at home.
Store, Sync, Backup, Share and Access your files from anywhere with Duple.

What makes Duple awesome?

-It’s private: Your files are not stored on someone else’s data center, but on your own storage. You're in full control.
-You own your data: Nobody can access your files except you and the people you choose.
-It’s simple: Anyone can use it. Just plug any USB to your router, download the app on your devices, and you're good to go! No complicated installation. It's super easy.
-It’s flexible: Since you use your own storage, that means you have full control over the size of your cloud. From 1Gb to 10TB (or more), you decide.
-It’s safe: Files are End-to-End Encrypted: it’s ultra secure.

Q: Can I access my files from anywhere? Both inside and outside my home?

A: Yes. You have access to your cloud everywhere, anywhere in the world. It works like a Dropbox.

Q: What functionalities does Duple provide?

A: You can take a look at the full list of features here

It gives you the functionalities of a full private Dropbox.

Q: How does Duple compare to the likes of Dropbox and Google Drive?

A: While these services are simple, easy to use and have great functionalities, unfortunately they are not private.
By using these services you're giving up your privacy. Your data is being stored on their datacenters ("somewhere in the cloud"). This creates serious problems: you data isn't yours anymore. You don't know where your files are. You don't know what happens with your data.
There's no privacy, no respect of privacy, no ownership of data.

With Duple, you get back your privacy and you own your data. You're the one hosting your cloud. Your files are on your storage and on your devices, rather than floating somewhere in the cloud. You have full control over your files. You know where your data is. And you choose where it goes.
And since you use your own storage with Duple, that means you have full control over the size of your cloud. From 1Gb to 10TB (or more), you decide.
You get all this, while keeping the convenience and simplicity of a Dropbox.

Q: What makes Duple different from other private cloud solutions (e.g. Nextcloud, ownCloud)?

A: In a nutshell, simplicity.
Duple is for everyone. All it takes is 3 clicks. No IT expertise needed. You get to keep the same convenience, ease of use and functionalities as if you were using Dropbox, while keeping your privacy, ownership and control of your data.

A list of more detailed comparisons with other private cloud solutions can be found here.

Q: How is Duple different from a NAS?

A: A NAS is a very expensive piece of hardware. Spending at least several hundred dollars up to more than a thousand dollars on a cloud service is a big pain point for most users, and that's completely understandable.
Finally, these solutions require configuration, they’re not plug and play products, which is a big turn off for non-tech users.

However, if you already have a NAS, you can of course use it as your storage for Duple, with our "Advanced Mode configuration".

Q: Where is my data stored?

A: You're in full ownership of your data. Your files are always stored on at least two different locations at all times: on your storage as well as on the devices where you've downloaded the app. Which makes sure you can’t lose your data.
For instance, say you plug your USB into your router and download the app on your computer. What this means is: Your data will always be on both 1) your USB plugged to your router and 2) your computer’s hard drive.
If you add a storage and/or have multiple devices from where you've downloaded the app, the data will also be replicated there.

We even went the extra mile and added parity features and health checks to protect you from data corruption. This means that even if your USB hard drive malfunctions, Duple can recover your files.

(Older file versions and deleted files are only stored in one place, in the USB storage (the Duple repository folder). In the future we will add a functionality to duplicate this data on the client side if needed, and RAID 0, 1 and 5/6 for the repository folder.)

Q: What if my house burns down together with my storage and all my devices? Where is my data then?

A: That's a fair concern! Good news: Duple has an easy solution to this. :-)

The great thing with Duple is you have complete flexibility as to where and how many backups you want, meaning that if you're particularly afraid of such a scenario, you can always add a new storage to your cloud in another physical location outside your home (e.g. your parents' router located in another country), or even on an Amazon S3. And problem solved!

The cool thing with Duple is that it's super easy to have another backup. It works with any storage. You just need the login/password/ip of your storage and that's it!

Q: What if I don't want to use my router?

A: No problem! For those who want full control over their data but don’t want to use a router, that's absolutely fine.
Duple works with any file storage. Whether it’s a NAS, Raspberry Pi, Amazon S3, or your own custom configuration: you can choose whichever storage you want for your private cloud. Which is why Duple offers the “Advanced Mode Configuration” for the power users.

Since the technology can convert any file storage into a full private cloud, without needing a server, there’s no limit.

Q: Can Duple run on a Raspberry Pi or a NAS?

A: Yes of course! Whether it’s a NAS, Raspberry Pi, Amazon S3, or your own custom configuration: you can choose whichever storage you want for your private cloud with the “Advanced Mode configuration”.

In fact internally our Duple private cloud is made of a USB hard drive from Western Digital plugged to a Raspberry Pi.

The idea is to be able to make a cloud without requiring to buy something. So the simplest way is to use the router. But the basis of the technology is that you can use any file storage, plugged anywhere.

Q: Can I already use the app?

A: Duple is currently in beta. Only the "Advanced Mode configuration" is available right now, and you can already download it and use it!
The "plug and play" version, as seen in the demo video, is coming soon.
Since it's a beta, please note that there might still be a few bugs, and not all functionalities are available yet.
The sharing features are coming soon. Fortunately, you can already have collaborative folders by creating another private cloud and sharing the access to it with other people.

The beta is available for free. Once it's out of beta Duple will charge a monthly subscription.

Q: On a mobile device, will it download the entirety of your cloud storage to the device? Or will it just display a file list and download the files you select?

A: It will not use the device storage unless you explicitly say so, and you will be able to select which files you want offline. Mobile apps are coming soon.

Q: I have three Macs, can one of them be the “storage,” and it syncs to the other two Macs plus mobile devices?

A: You can use one of your computers as the "storage", yes, but in that case your Mac would need to stay turned on. That is why it's better to use your Router, NAS, or Raspberry pi for example.

Q: Does Duple collect or have any access to my data?

A: Absolutely not. The cloud is yours and yours only, and all of the data contained inside is only accessible by you (and the people you choose).
Privacy, along with simplicity, is our main focus.

Q: Do you plan to open-source it?

A: We'll open source everything (server, interface, etc...), except from the C Library. Reason being that the library is what gives us our technical competitive advantage (being that you get the full private cloud experience with no need for a server). It's also important to note that you can't patent your code/algorithm in Europe, so there's no other way to protect it. But everything else expect from the library will be open-source.

Q: Why do I receive a message that my country is blocked when trying to download the app?

A: We have blocked the access to the download page to some countries, unfortunately, as it was advised by our lawyers to do so before we get an official green light to grant access to them. As it is considered "cryptographic exportation", we need to make sure we have an authorisation to export (sell) the software to some specific countries.
We're very sorry about this, but we're working on fixing this issue!
At the moment, downloading the app is possible from the following countries: all EU countries, USA, Switzerland, Norway, Canada, Australia, Japan, New Zealand. More will come.

In the meantime make sure you follow us on Twitter or Linkedin to stay updated.

Q: How reliable is the connection if you're hosting the cloud yourself?

A: When you're at home the connection is very reliable because you use your own local network, so it works better than a normal Dropbox. When you're outside it depends on the internet connection you're using. If you live in a city you should normally have a good internet connection so you won't see the difference between using Dropbox or Duple in terms of connection reliability.

Q: Can you elaborate on the security you are using to ensure user data remains private, both when connected to a host device and during network transit?

A: During network transit we use SSH (one of the safest protocols around), and regarding host device we will have End-to-End Encryption, nobody will be able to read your data expect you (and the people you choose).

Q: What does "Duple" mean?

A: Duple is a synonym of "double", to have something in two. Just like the private cloud data, which is duplicated in two places at the same time. In fact, our logo is made of 4 "D"s joined together.

Technical FAQs... for those more curious!
Q: What is Duple? How does it work?

A: Duple is a private cloud with a Client/Storage architecture, you just need the client app and a storage endpoint. It is like having a Dropbox client connected to a git repository. No Client/Server/Storage or Peer to Peer structure, just Client/Storage structure. It can be a simple USB hard drive, FTP, S3, etc... If you can access your repository folder, you can access your private cloud.

Our repository folder works like a git repository (meaning it is a content addressable storage using blob, tree and commits), but it is not compatible with git and has nothing to do with the git software. Everything was built from scratch. We didn't use the git repository format because it was not made to handle big files, but source code.

Q: How can you do it?

A: We’ve got a technology that does everything on the client side in the app, so the app handles everything from doing the commits, synchronising with all the other devices, making sure nobody writes to the Duple repository at the same time, etc. We’ve built a Dropbox without server, just plug any storage and it works.

This technology is made of 13K lines of code, test covered at 90%, regrouped in a C 89 library. To achieve this, we had to solve a lot of technical problems that nobody solved before (e.g. locking mechanism without server that can handle 25 simultaneous connections without breaking).

Q: Can you explain a bit more?

A: You have one repository folder and one folder Duple on each device where you can access your cloud. This Duple folder works like a Dropbox folder, and everything is synchronized in multidirectional way between all the devices (all the Duple folders) and the repository folder which contains the totality of the private cloud. On each device (where the app client is installed), you have to tell it how to connect to the repository folder. You can tell the app multiple ways to connect to the repository folder, so if one doesn't work, it will try another one until it succeeds. This allows it to be very flexible, wherever you are (local network, outside your home, storage plugged in USB, etc...).

However there is only one repository folder, which represents the private cloud, and one Duple folder per device which works like a Dropbox folder. The totality of the private cloud data is in the repository folder and partially or totally in each Duple folder depending on your device configuration. There is no server app, just a client app.

Duple is not P2P: your devices are connected to your repository, which means each device synchronises with it. So you won't lose your data, there's always a backup.

There is no server, just storage endpoints. We do not have peers or servers. Our model is Client/Storage, the client app is connected directly to a Duple repository containing the entirety of your cloud.

We're offering a private cloud. You can take a look at the list of functionalities here.

Q: Does it need your servers to function?

A: There is no data passing through our server, the app is directly connected to your storage, without going through us.

Q: Is there any centralised server component required to run?

A: No, there is no server app required. However you need to be able to access your storage, so it is better to have a NAS or a USB hard drive connected to your network. But it also works with a local USB storage or mounted shared folder.

Q: Doesn't the app rely on your server to "register" the location of my "private cloud"?

A: No, the app doesn't rely on servers to register the location of your private cloud. It doesn't communicate with our servers for anything (we don't have servers to do that anyway). You are 100 % autonomous, and also responsible for your infrastructure and storage. You add ways to connect to your storage into the app, and the app checks which one works and uses it.

Q: Is there a central service that handles anything?

A: There is no central service, clients only connect to a same shared folder. An internal algorithm handles the orchestration. If interested here's some documentation on it.

Q: What kind of encryption does it use?

A: The scheme we're thinking of using is End-to-End Encryption using Serpent for file encryption and chacha20 for the generation of the keys (one per element). This can evolve in the future.

Q: Do you have per-file encryption at rest? Meaning you don't have a giant sparse file container for the repository, but rather each file is transformed into an encrypted file.

A: Yes, the repository folder works like a blob storage, so each blob has its own key.

Q: How does the encryption work? If I backup to a little duple server at a friend’s house, would the files on their server be encrypted? If I then lost my computer would I be able to redownload those files remotely, or would it have to be physically connected to that server? And if I then get those encrypted files back, how does it get decrypted?

A: The encryption is end to end using a key file stored in the repository folder and in all the devices. This key file is protected by your password. There is no server. The files stored on the storage (in your friend’s house or elsewhere) are always end to end encrypted.
If you lose your computer, you can reconnect to your cloud and download your files again (they will be decrypted automatically on your new device) by (1) going physically to your storage at your friend's house (2) depending on how you configured your storage, you may just connect to it from distance using your user/password (3) if you enable the “easy connect” service (which will be implemented in a few months), you can reconnect to your cloud from anywhere, just with your user/password.

(Please note: E2EE is not yet implemented with the beta, it will be implemented soon)

Q: How does it manage encryption keys? Rotation? Invalidation? Re-encryption of files? Where does it reuse keys? Does each device have its own keychain? How are new devices added? How are files distributed securely?

A: The scheme (may be evolving in the future) is to use a lazy revocation key management. There is one key per element in the repository folder generated using chacha20. Each device has its own certificate, when you add one device the master certificate has to validate the new device's certificate and then send the encrypted encryption key using this certificate. Since it's E2EE, the file are distributed safely. We will release the encryption documentation when the feature is ready to explain in details how it works.

Q: What's the security like?

A: Security is SSH protocol + End-to-End Encryption (E2EE not in beta, it will be implemented soon).

Q: How can we be sure it's not opening our files to anyone who scans our network?

A: Because your files are only accessible via SSH, one of the safest protocols around.

Q: How do I access my data from my workstation when it's a USB connected to my router?

A: Because your router is connected to internet, the app uses SSH to connect to it (so it's safe) and SSH is available on both sides of the router (local network and internet interface). From a user experience point of view, it's the same as Dropbox.

Q: How does the USB reach the outside world since the router is running its own locked down software?

A: You connect to the USB key via SFTP. And every router runs on Linux where SSH is available.

Q: How do I connect to the storage if I have a dynamic IP?

A: You can configure a dynamic DNS name like dyndns. You can add as many ways to connect to your storage as you need, the app will try each one until it finds one configuration that works. You can have one config with your local IP, another with your external IP, another with your dynamic DNS name, etc... We will have in the future our own dynamic DNS name service that will be included in the app price, so people don't have to pay for it with another company if they don't want to.

Q: Can you have multiple remote servers? or is each "node" equivalent?

A: Just to clarify, there is no server, just storage endpoints. At the moment only one storage endpoint per cloud is available. In the future we will have RAID functionalities that allows you to have multiple storage endpoints per cloud.

Q: Will the product support multiple storage points for both RAID and/or multiple folders?

A: Yes, but in the future, not right now.

Q: How will the files be accessed outside the local network?

A: From a user experience perspective, it doesn't change anything to be inside or outside your network. From a technical point of view, it depends how you configure your storage endpoint into the app. So you can have multiple connections: one when you are inside your local network, one when you are outside your local network, etc. You tell the app how to connect to the storage endpoint in the different cases. In the future we will have automatic configuration for the storage plug to the router, so configuring manually the connection will not be required anymore.

Q: Are all the nodes that sync peers? None of the nodes is a server as such?

A: We do not have peers or servers. Our model is Client/Storage, the client app is connected directly to a Duple repository containing the entirety of your cloud.

Q: What protocols are needed for connectivity between nodes?

A: There are no nodes, just clients connected to a shared folder. The clients can use SFTP or a locally mounted folder. More protocols will be added in the future.

Q: Does this work with a vps?

A: Yes it does. Works everywhere you can have SSH (SFTP) access.

Q: Does it make off site backups at a friendly/secure location (ie. crashplan's P2P backup). Does this do this? Can you store the "repository" on another computer hosted by a friend (and vice versa)?

A: Yes.