Engineering.
The Details Behind What We Do.

True Privacy

Your SpiderOak data is readable to you alone. Most online storage systems only encrypt your data during transmission, and do not encrypt the data while it is resting on their servers. This means anyone with access to the servers your data is stored on (such as the company's staff) could appropriate it. Or, even if your data is encrypted during storage, your password (or set of encryption keys) is often stored along with your data, thus making your data easily viewable by anyone with access to those servers.

SpiderOak's encryption is comprehensive — even with physical access to the storage servers, SpiderOak staff cannot know even the names of your files and folders. On the server side, all that SpiderOak staff can see are sequentially numbered containers of encrypted data. In this way, we are not capable of betraying our customers.

The secret that keeps your data accessible to you alone is your SpiderOak password, which is never transmitted to SpiderOak in its original form. This means you alone have responsibility for remembering your password or 'Password Hint' (which you can create to help you remember.) If the password is forgotten, there's nothing anyone can do to make the encrypted data readable to you again.

When you first run the SpiderOak software on a computer, a series of strong encryption keys are generated. The keys are themselves encrypted with your password and stored (along with your backup data) on SpiderOak servers in their encrypted form.

To be most secure, encryption key generation needs to happen on a real computer — not in a web browser. However, it's 2014 and people expect to signup for services on the web. We use some Javascript magic to make this convenient.

If Javascript is enabled in your browser when you fill out the SpiderOak user signup form, Javascript code running inside your browser on your computer will hash your password with the bcrypt algorithm before sending it to the SpiderOak servers. Then, when you first run the SpiderOak backup software, it will prompt for your username and that same password to authenticate you into your account. The plain version of the password is never sent to SpiderOak.

If you mistrust Javascript for these purposes, you may disable it when signing up for a SpiderOak account. In that case the form will have no password fields at all. Instead of a password, a temporary "activation code" will be automatically created for you, and you can use this activation code when you first run the SpiderOak software to authenticate into your account. The SpiderOak software will then prompt you to create a password.

In either case, when you run the SpiderOak software for the first time and authenticate into your SpiderOak account, strong encryption keys for your account will be automatically generated, encrypted with your password, and saved. No trace of your original password is stored. These are the necessary steps to create a true zero knowledge environment.

Fault Tolerant Design

SpiderOak was designed and implemented by engineers with a background in fault tolerant systems with a margin of error of 0.0000%. No matter how your hardware, operating system, or electrical power might fail, SpiderOak is organized such that it is impossible for any such events to corrupt your backup result.

SpiderOak accomplishes this with a transactional file system layer, and application level transactions. SpiderOak works as a fully ACID compliant database, distributed across each computer you use SpiderOak from, and the SpiderOak servers.

This approach is significantly different from the way most applications are engineered. Consider what might happen in a word processor if you are working on a document, hit Save, and just as the document is half-way through writing to disk (overwriting the old version), the power fails. You may now have replaced the old copy of the document with a half-written, corrupted document that you cannot open. Many word processors are not created using a fault tolerant design, but your backup software absolutely should be.

The biggest worry with corrupted backups is that you don't notice — until you try to restore. You might go on with a false sense of security knowing all your data is safe. SpiderOak eliminates this concern.

Storage Redundancy Savings

Have two copies of the same file? In your SpiderOak account, the 2nd (or 3rd or...) copy doesn't use any more space. Or maybe there are instances when you have a folder with 10 or 20 different "renamed" versions of a similar file as you worked on it over time? SpiderOak internally detects the redundancy in these situations and saves you online storage space.

Additionally, this enables SpiderOak to store all historical versions of any document (even if it is not renamed) as well as allow your uploads to happen with much greater speed.

As a distributed database of your data, SpiderOak also knows what files are stored in your SpiderOak network, from any of your computers. For instance, you might backup your music on your work computer, and also your music from your home computer. If you have many of the same songs in both places, they won't take up any extra space in your account.

Efficient Versioning

SpiderOak keeps historical versions of every file. This is an extremely important safety feature in a backup application. Consider this scenario: You accidently save over your thesis paper with a different document. The easy solution is just go to your backup software and retrieve the old version, except what if you don't notice for a few days? If your backup software doesn't keep historical versions, it will save the new (wrong!) version of your thesis into your next backup, making recovery impossible.

SpiderOak's historical versions are space efficient. Even though your historical versions are encrypted and only stored on the server, SpiderOak detects the similarity between those historical versions and your new versions - only saving the parts that actually changed.

As a point of comparison, many backup systems can only accomplish versioning by storing a completely new copy of the file (not just the changes), which doubles storage costs with each new version. For files that change frequently, this really adds up.

Multi-Device — Real Time

When you save files on one of your SpiderOak enabled computers, you can see those files in real time throughout your SpiderOak network. The redundancy savings mentioned above work across your multiple devices too, so, for example, if you have your music collection on both your desktop, and your notebook, you can back them both up using SpiderOak, without using twice the space. This works across all platforms: Mac, Linux, and Windows.

Instant Access from Anywhere

From within the SpiderOak application you can view and download all of the data you have backed up across your SpiderOak network - including files from your Mac, PC, and/or Linux machine. As an example, you can access a document from your PC desktop computer while traveling overseas with your Mac laptop.

If you are away from your computer, SpiderOak also provides the ability to access your data remotely via the SpiderOak website using 'My Login'. This provides the added convenience of being able to remotely track down a document should the need arise.

Important Note: When accessing your data via the SpiderOak website or a mobile device, you must enter your password which will then exist in the SpiderOak server memory for the duration of your browsing session. For this amount of time your password is stored in encrypted memory and never written to an unencrypted disk. The moment your browsing session ends your password is destroyed and no further trace is left.

The instance above represents the only situation where your data could potentially be readable to someone with access to the SpiderOak servers. That said, no one except a select number of SpiderOak employees will ever have access to the SpiderOak servers. To fully retain our 'zero-knowledge' privacy, we recommend you always access your data via the SpiderOak desktop application which downloads your data before decrypting it locally.

Sharing... With Safety

Even though all your data is stored encrypted, you can carefully and selectively allow portions of your SpiderOak Network to be shared (or become public) to family, friends, colleagues, or clients. You can create a ShareRoom by choosing any number of folders from several of your computers. A ShareRoom may be accessed as a unique web URL or by entering a user's ShareID and RoomKey on the SpiderOak homepage – easily allowing people you invite to view your documents, pictures, movies, and so on.

Additionally, as you make additions or edits to the folders within a ShareRoom (no matter what computer those changes are made on), the changes are automatically viewable to those who have access to the ShareRoom. This process is definitely more efficient than having to constantly upload new changes to an FTP site or resend big files via e-mail.

Cross Platform: Mac, Windows, Linux Compatible

The SpiderOak client is distributed for Windows 2000, XP, Vista, 7 and Windows 8, Mac OS X, and 32 and 64 bit Linux packages for Ubuntu and Debian.

This means that the data from your Mac is accessible from your PC and your Linux box. Plus, you can create SpiderOak share rooms that include folders from any or all of your many platforms. Backup your Netbook, Powermac, Linux box and PC workstation all using the same account.

We have also begun investigative work for providing SpiderOak on the OLPC.

Reliability via Comprehensive Test Coverage

We believe in data integrity and quality-by-design. To that end, we have a comprehensive, automated, internal testing system. It simulates users using the software in a variety of ways with integrity verification at every step. We continuously verify accurate handling of data based on test sets such as the many years of changes to the Linux kernel source code, big collections of office documents, pictures, music, email, and so on.

This remains one of the most compelling arguments for relying on a 3rd party to provide your backup solution. Few individuals or organizations take the time to regularly audit the accuracy and completeness of their backups through testing via full restore. SpiderOak maintains the resources and incentives for continual quality assurance.

In the end, nobody should have to think about their backup software – rather – 'it should just work'.

Open Source?

We are steadily releasing many of the tools and libraries that we created while building SpiderOak as independent, generalized components. These can be found under the 'Code' section in the main navigation on the SpiderOak website. For the moment, the SpiderOak client will remain a closed source, commercial application.

Our founders and engineers have a strong open source background and we consider a contributory relationship with the FOSS community as the normal course of business.

Thus, our plan all along has been to make our entire code base open source; however, as anyone who has worked with such issues knows, it is often not quite that simple. We are committed and will continue to work toward an open source environment.

Encryption Specifications

SpiderOak uses AES256 in CFB mode and HMAC-SHA256. SpiderOak uses a nested series of key scopes: a new key for each folder, version of a file, and the individual data blocks that versions of files are composed from. Having keys with such limited scope allows for selective sharing of chosen portions of your data while keeping the remainder private.

Most importantly, however, the keys are never stored plaintext on the SpiderOak server. They are encrypted with 256 bit AES, using a key created from your password by the key derivation/strengthening algorithm PBKDF2 (using sha256), with a minimum of 16384 rounds, and 32 bytes of random data ("salt"). This approach prevents brute force and pre-computation or database attacks against the key. This means that a user who knows her password can generate the outer level encryption key using PBKDF2 and the salt, then decipher the outer level keys and be on the way to decrypting her data. Without knowledge of the password, however, the data is unreadable.

SpiderOak accounts also include a 3072 bit public/private RSA key pair. This is currently not used for anything, but is included with all accounts with the expectation that SpiderOak will add multi-user private collaborative and sharing features which would necessitate the use of the public/private keys.

Storage Infrastructure

SpiderOak operates its own hardware and data centers without outsourcing. Data is archived using a redundant clustering file system that can tolerate the total loss of many entire machines without loss of data. Our data centers have redundant power, generators, battery backup, redundant cooling, and multiple Tier 1 ISP uplinks.

For customers that require geographic redundancy (beyond the geographic redundancy that an off-site backup inherently offers), we offer this service at a premium pricing schedule. To find out more, please contact support@spideroak.com.

The best part? It’s all free.

Start with our 2GB free forever plan & upgrade whenever you need to.

Get started for free today