We also contribute back to the open source community:
StickerDocs uses end-to-end encryption (E2EE) meaning nobody at StickerDocs can decrypt your data stored within our systems. The only people that can decrypt your data are those that know your password, which is hopefully only yourself.
All files are encrypted on your device prior to transmission to a private AWS S3 bucket for storage.
Not yet. We are aware NIST has recently published some Post-Quantum Encryption Standards, however we are waiting for greater standardisation, and ideally incorporation into libsodium. Please follow this discussion to learn more.
Your password is never transmitted to StickerDocs. Your app derives a key from your password which we use to authenticate you when you log in. To the best of our knowledge this key cannot be used to determine your password.
The app is subjected to application security testing during development and at regular intervals. The app does not trust the data from the API and validates all input.
When the recipient of a shared file downloads the file, that file is then re-encrypted for that user and uploaded to StickerDocs.
The reason a secret is required to establish trust between two users is to prevent anyone at StickerDocs (or who has compromised StickerDocs) from intercepting that request and accepting it. If someone could do that they would be able to impersonate the person the sticker was intended to be shared with.
All user input is strictly validated by the API. All authenticated API requests are signed to reduce replay attacks. The API is subjected to application security testing during development and at regular intervals.
The API is hosted within AWS. All file data is encrypted before it reaches the cloud however we do have customer data stored within DynamoDB. This data consists of:
We retain records of logins. These include IP addresses.
Access to the infrastructure is tightly controlled and actions are audited.
If your device becomes compromised (hacked) there is very little that can be done. Whilst we expect modern devices to make use of full-disk encryption, if an attacker has access to your device then it’s pretty much game over.
We do not recommend jail-breaking as it weakens the security of the Operating System. The app has jailbreak detection to help our customers to make good decisions in that regard.
All data to and from the API is via HTTPS. The authentication process makes use of additional cryptography such that an intercepting SSL proxy could not decrypt the login details from the user and the session data returned.
The app has been built to not trust data from the StickerDocs API. All data from the API is validated and where appropriate, hashes and signatures are verified.
Actor | Concern | Damage | Mitigation |
---|---|---|---|
Insider threat | A rogue file added to a user’s account | File is downloaded, possibly executed by the app, leading to Remote Code Execution (RCE) | All files uploaded by the user are signed. If the signature does not match th file is not processed. |
Customer | Shares a malicious sticker with another customer | File is downloaded, possibly executed by the app, leading to Remote Code Execution (RCE) | SVG files are validated to contain SVG data. There are file size limits. |
Should an attacker steal our signing/account keys for the app stores they could impersonate us and attempt to push malware via app updates.
Our app source code is not public so that would also need to have been compromised if they intend on doing this covertly.
We know from first-hand experience that some of the app stores tend to be thorough in their review process and this will serve as an early warning of compromise also.
As users of the product ourselves we would know when a new version of the product has been published to the app store and if this was not an authorised action we will take steps to immediately notify the app stores.
To balance security and performance the following trade-offs have been made:
We are a micro business, so we don’t have funds to pay bounties. We welcome responsible disclosures from security professionals and will acknowledge your efforts on this page. Thank you for helping us keep our customer’s data secure.
If you need to securely communicate with us our PGP key can be found here.
Relating to the security of our data there is the question of availability. As we are a small company to protect against any issues at our end, the app has an export feature which can be used to back up your data. We recommend you regularly back up your data. We have backups, but it’s on you to make your own backup.
We promise not to send too many emails and we will never sell your data or make it hard to unsubscribe.
Please prefix your email address with the letter "j" so we know you are human.