removed by mod
fedilink
Arthur Besse
shield
link
fedilink
98
edit-2
5d

Btw, DeadDrop was the original name of Aaron Swartz’ software which later became SecureDrop.

it’s zero-knowledge encryption. That means even I, the creator, can’t decrypt or access the files.

I’m sorry to say… this is not quite true. You (or your web host, or a MITM adversary in possession of certificate authority key) can replace the source code at any time - and can do so on a per-user basis, targeting specific IP addresses - to make it exfiltrate the secret key from the uploader or downloader.

Anyone can audit the code you’ve published, but it is very difficult to be sure that the code one has audited is the same as the code that is being run each time one is using someone else’s website.

This website has a rather harsh description of the problem: https://www.devever.net/~hl/webcrypto … which concludes that all web-based cryptography like this is fundamentally snake oil.

Aside from the entire paradigm of doing end-to-end encryption using javascript that is re-delivered by a webserver at each use being fundamentally flawed, there are a few other problems with your design:

  • allowing users to choose a password and using it as the key means that most users’ keys can be easily brute-forced. (Since users need to copy+paste a URL anyway, it would make more sense to require them to transmit a high-entropy key along with it.)
  • the filenames are visible to the server
  • downloaders send the filename to the server prior to the server sending them the javascript which prompts for the password and decrypts the file. this means you have the ability to target maliciously modified versions of the javascript not only by IP but also by filename.

There are many similar browser-based things which still have the problem of being browser-based but which do not have these three problems: they store the file under a random identifier (or a hash of the ciphertext), and include a high-entropy key in the “fragment” part of the URL (the part after the # symbol) which is by default not sent to the server but is readable by the javascript. (Note that the javascript still can send the fragment to the server, however… it’s just that by default the browser does not.)

I hope this assessment is not too discouraging, and I wish you well on your programming journey!

@tobi_tensei@lemmy.ml
creator
link
fedilink
38
edit-2
5d

Thanks for the detailed and thoughtful reply — I really appreciate the time you took to lay this out.

I know Aaron Swartz — big fan.

You’re right about many of these points. The biggest challenge with any web-based cryptography project is trust in code delivery, especially when it’s dynamically served. That’s a fundamental limitation of browser-delivered JavaScript, and I fully acknowledge it.

You’re also absolutely right that true zero-knowledge isn’t just about encryption — it’s about removing trust assumptions. The server still being able to serve malicious JS is a valid and well-known concern. That’s why I’ve made the code open-source and encourage self-hosting for anyone who doesn’t trust DeadDrop or me.

To clarify a few things:

-No JavaScript is sent after the file metadata is submitted — only the encrypted metadata and the file are transferred after the password is verified locally. I’m also planning to encrypt metadata (including filenames) to limit what the server can see.

-DeadDrop uses salted encryption. I’m using a proper key derivation function (PBKDF2) with a salt, which makes brute-force attacks significantly harder.

You’re right that unless users host the project themselves, they have to trust me — just like users of Signal technically have to trust their app stores and client builds. So, trust is a fundamental principal for a service like this and I promise the code that is delivered on the browser is same as on the github. However, if you don’t trust my instance, you can review, fork, and self-host it easily.

I’m not claiming DeadDrop is flawless — just that it’s a sincere attempt to build a privacy-first, zero-knowledge file-sharing tool. I am truly grateful for your feedback, thanks again.

Arthur Besse
link
fedilink
14d

TLDR: this is way more broken than I initially realized

To clarify a few things:

-No JavaScript is sent after the file metadata is submitted

So, when i wrote “downloaders send the filename to the server prior to the server sending them the javascript” in my first comment, I hadn’t looked closely enough - I had just uploaded a file and saw that the download link included the filename in the query part of the URL (the part between the ? and the #). This is the first thing that a user sends when downloading, before the server serves the javascript, so, the server clearly can decide to serve malicious javascript or not based on the filename (as well as the user’s IP).

However, looking again now, I see it is actually much worse - you are sending the password in the URL query too! So, there is no need to ever serve malicious javascript because currently the password is always being sent to the server.

As I said before, the way other similar sites do this is by including the key in the URL fragment which is not sent to the server (unless the javascript decides to send it). I stopped reading when I saw the filename was sent to the server and didn’t realize you were actually including the password as a query parameter too!

😱

The rest of this reply was written when I was under the mistaken assumption that the user needed to type in the password.


That’s a fundamental limitation of browser-delivered JavaScript, and I fully acknowledge it.

Do you acknowledge it anywhere other than in your reply to me here?

This post encouraging people to rely on your service says “That means even I, the creator, can’t decrypt or access the files.” To acknowledge the limitations of browser-based e2ee I think you would actually need to say something like “That means even I, the creator, can’t decrypt or access the files (unless I serve a modified version of the code to some users sometimes, which I technically could very easily do and it is extremely unlikely that it would ever be detected because there is no mechanism in browsers to ensure that the javascript people are running is always the same code that auditors could/would ever audit).”

The text on your website also does not acknowledge the flawed paradigm in any way.

This page says "Even if someone compromised the server, they’d find only encrypted files with no keys attached — which makes the data unreadable and meaningless to attackers. To acknowledge the problem here this sentence would need to say approximately the same as what I posted above, except replacing “unless I serve” with “unless the person who compromised it serves”. That page goes on to say that “Journalists and whistleblowers sharing sensitive information securely” are among the people who this service is intended for.

The server still being able to serve malicious JS is a valid and well-known concern.

Do you think it is actually well understood by most people who would consider relying on the confidentiality provided by your service?

Again, I’m sorry to be discouraging here, but: I think you should drastically re-frame what you’re offering to inform people that it is best-effort and the confidentiality provided is not actually something to be relied upon alone. The front page currently says it offers “End-to-end encryption for complete security”. If someone wants/needs to encrypt files so that a website operator cannot see the contents, then doing so using software ephemerally delivered from that same website is not sufficient: they should encrypt the file first using a non-web-based tool.

update: actually you should take the site down, at least until you make it stop sending the key to the server.

@tobi_tensei@lemmy.ml
creator
link
fedilink
-15d

deleted by creator

@tobi_tensei@lemmy.ml
creator
link
fedilink
-15d

deleted by creator

@tobi_tensei@lemmy.ml
creator
link
fedilink
05d

deleted by creator

carg
link
fedilink
54d

Thanks for sharing.

I did some tests and opened two issues in your github project.

@tobi_tensei@lemmy.ml
creator
link
fedilink
34d

Thank you so much for testing it out and taking the time to open the issues, really appreciate the feedback! I’ll take a look and work on them soon.

krolden
link
fedilink
125d

Self hostable?

@tobi_tensei@lemmy.ml
creator
link
fedilink
205d

Yes, fork the code from github and host it on your own server.

Joined 5 hours ago

Who are you? Even a known and respected cryptographer would not release a tool with such confidence. First you need to request testing and code review before you announce to people that it is a “secure, anonymous file-sharing platform.”

This is not a community for sharing your personal programming projects for feedback. If you post here, there will be non-technical users who don’t know how to evaluate the security of tools and won’t understand they are taking a huge risk by using your unknown alpha release project.

@tobi_tensei@lemmy.ml
creator
link
fedilink
37
edit-2
5d

Fair point — I should’ve been more careful with the wording. I’ve open-sourced the code exactly so that people can audit, test, and critique it. I don’t expect blind trust, and I’m not claiming it’s perfect, just that I built it with privacy in mind.

If you have concerns, I’d genuinely appreciate feedback or a review. My goal is to improve it, not just promote it

carg
link
fedilink
34d

Who are you?

This sounds really aggressive, he’s tobi_tensei, that must be enough.

Even a known and respected cryptographer would not release a tool with such confidence

Why not? Do you know about open source? https://en.wikipedia.org/wiki/Release_early,_release_often

First you need to request testing and code review before you announce to people that it is a “secure, anonymous file-sharing platform.”

I think he’s precisely asking for testing and code review, announcing the intention of the software is not wrong.

This is not a community for sharing your personal programming projects for feedback

Why not? It is related to privacy, it can be the seed for bigger projects, the author is sharing the code so you can evaluate and host yourself.


What a strange way to say “thanks for sharing”.

So, I’m going to try to say it better:

Thanks @tobi_tensei for sharing that code in the open source, please don’t stop your initiative for people criticizing, there are more people that likes and are thankful.

Use File.Pizza, FOSS, P2P, without account

Hosted instance

Xanthrax
link
fedilink
115d

That name is unfortunate

@tobi_tensei@lemmy.ml
creator
link
fedilink
6
edit-2
5d

It is a P2P service. While as Deaddrop is like a cloud storage to temporarily save and share a file

Than use Filen from Germany (10GB free)

https://app.filen.io/

carg
link
fedilink
24d

it requires to create an account

@tobi_tensei@lemmy.ml
creator
link
fedilink
15d

is this only me

@Zerush@lemmy.ml
link
fedilink
3
edit-2
5d

Seems so, works fine for me. I’m currently using it for some backups. Maybe changing your DNS helps, I use Quad9, Cloudflare and Google DNS sometimes make connection problems. (1.1.1.1., 8.8.8.8.)

You can test it yourself

https://downforeveryoneorjustme.com/

@tobi_tensei@lemmy.ml
creator
link
fedilink
35d

( Yeah, worked with VPN ). This website is great but very different from deaddrop

Storage and bandwidth cost money so what’s the catch

@tobi_tensei@lemmy.ml
creator
link
fedilink
385d

Yes, it does cost me. For now, there is a 10MB limit. If this worked great, i will add a paid plan to upload big files. The payment would be done in crypto and cost will depend on the file size. In this way, i could keep the service running as well as protect the privacy and anonymity of the user

You’d have to accept other forms of payment as well though right?

Do people actually pay for things in crypto?

well, they do. unlike cryptobros, for some its not a form of invesrment gambling. but I hope most of them don’t write crypto with a capital C.

@tobi_tensei@lemmy.ml
creator
link
fedilink
145d

I guess the people who care about privacy use Crypto. If i incorporated regular payment system, it will violate the core principle of the website i.e. to protect privacy and anonymity.

People who care about privacy use Monero specifically

@tobi_tensei@lemmy.ml
creator
link
fedilink
135d

Thanks for the suggestions. I will consider it in future

I care about privacy and I’ll never use crypto.

@tobi_tensei@lemmy.ml
creator
link
fedilink
95d

Then, what are you gonna use, cash?

Actually that’s a valid payment method for Mullvad VPN

And so is Monero!

Monero all the way. I would never pay using bitcoin but Monero is great and the closest you can get to anonymous payments

Yes, all the time

deleted by creator

What are the main differences compared to Firefox Send (forked) instances? https://github.com/timvisee/send-instances/

@tobi_tensei@lemmy.ml
creator
link
fedilink
4
edit-2
4d

Well, DeadDrop uses name + password modal as well as direct link.

Is YCMA content going to be allowed there eventually. I’

@tobi_tensei@lemmy.ml
creator
link
fedilink
25d

Can you please clarify what do you mean by YCMA?

Replace Y with a D and shuffle some letters around. I don’t want to spell it out

@tobi_tensei@lemmy.ml
creator
link
fedilink
44d

If you are referring to DMCA (should have directly mentioned it), then NO, this content is not gonna be allowed. Those files will be permanently deleted once it is reported.

carg
link
fedilink
54d

if you cannot decrypt the file, how can you know that the DMCA violation report is valid?

@tobi_tensei@lemmy.ml
creator
link
fedilink
24d

The person submitting the report would need to provide the file name and password.

Okay good to know

Very cool, will try it out.

Cool idea. But since it doesn’t seem to be open source and self-hostable, I won’t trust it.

@tobi_tensei@lemmy.ml
creator
link
fedilink
145d

Well, it is open source ( https://github.com/Rayid-Ashraf/deaddrop )

Ah, my bad then! I didn’t see a repo linked in the post or on the site. That’s great, then!

@tobi_tensei@lemmy.ml
creator
link
fedilink
55d

Sorry about that — I recently open-sourced it and forgot to add the link. I’ll update it as soon as possible!

How do you plan to address offensive or illegal content?

@tobi_tensei@lemmy.ml
creator
link
fedilink
155d

To be honest, there is not much I can do about it. However, if anybody found any illegal content, He/she can report it to me with name and password. I will verify the file and permanently delete it if their was anything offensive or illegal.

*Tagger*
link
fedilink
35d

How do you mean verify the file?

@tobi_tensei@lemmy.ml
creator
link
fedilink
55d

By verify, I mean to check whether there is really something illegal in the file or not

*Tagger*
link
fedilink
6
edit-2
5d

But how would you do this if you can’t see in the files?

Edit: Ah, I see, if they gave you the password.

Edit 2: You might want to look at local laws. In many places, ‘checking’ to see if there is CSAM is still considered viewing CSAM.

@tobi_tensei@lemmy.ml
creator
link
fedilink
45d

Oh boy! Didn’t know about that. But how do other platforms like dropbox, whatsapp and telegram tackle these problems. Don’t they first have verify a content to delete or report about it.

@Tangentism@lemmy.ml
link
fedilink
4
edit-2
5d

In the UK, if I opened a page that had CSAM on it but closed it as soon as I realised without opening the images, the fact that my browser has cached that page (with thumbnails) means I’m in possession & could be prosecuted.

@tobi_tensei@lemmy.ml
creator
link
fedilink
65d

So with that logic, if a person reports CSAM to police. The police first has arrest the person who reported it. Am I right?

If you’re in the US our laws would allow you to view the file to check if it does indeed violate the law, so long as you properly delete it and any potential backup of it immediately

You’re safe from being sued or held liable for hosting it due to the nature of your platform, and the required checking of the content before removal would be allowed (you could also theoretically leave it to the police to send you takedown requests instead, then you don’t even have to subject yourself to the potentially bad material)

You could also implement some sort of hash scanning against known-bad data, there are datasets of hashes of files you could check against and deny the uploading or auto-delete/report to authorities if you wanted

I would not trust legal advice from a random person on Lemmy. US laws vary by state.

@tobi_tensei@lemmy.ml
creator
link
fedilink
3
edit-2
5d

Thanks for mentioning this, I really appreciate it. I will considering implementing hash scanning before encryption to help prevent illegal content.

So you’ve built a platform with an ideal use case that you’re absolutely opposed to but have no mechanism to control or even detect.

@tobi_tensei@lemmy.ml
creator
link
fedilink
145d

Well, everything has its own pros and cons

Have you considered that as the host, you’re the only person who is not anonymous?

If someone did upload something illegal, and share it with a community, only one member of that community needs to get busted for you as the host to be identified as the “source”.

I’m aware that in civil cases hosts are liable for the content they host, but criminally? IDK.

Anyhow, I didn’t intend to dump on your project. I hope I’m wrong and it all goes great. I look forward to being downvoted to oblivion.

@tobi_tensei@lemmy.ml
creator
link
fedilink
4
edit-2
5d

I am considering moving to UAE :)

*Tagger*
link
fedilink
-25d

So now you’re moving to avoid jurisdiction rather than just not enabling csam?

@tobi_tensei@lemmy.ml
creator
link
fedilink
65d

I want to be very clear: I do not condone CSAM or any illegal activity. DeadDrop is simply a privacy-focused file-sharing service — like many tools that value anonymity, it can be misused, but that’s not its purpose or intent.

To your question: I’m not trying to “avoid jurisdiction” — I’m trying to build a service that respects privacy and anonymity, which I believe are fundamental rights. Unfortunately, any privacy tool (from Signal to Tor) can be exploited. The challenge isn’t the tool itself, but how we handle misuse without compromising basic freedoms for everyone else.

If we shut down every tool that could be misused, we’d also be shutting down freedom of speech, press, and secure communication. That’s not a solution — it’s just pushing the problem elsewhere.

Perhaps you should look up zero knowledge encryption.

How would they if they can’t see it

Good point. I should’ve read the overview more carefully.

That being the case, my next question: Is this intended to be a CSAM sharing platform, or is it just naively a CSAM sharing platform?

RejZoR
link
fedilink
155d

I mean, how do you expect anyone to enforce that? That’s like looking into every envelope or package sent through mail…

@tobi_tensei@lemmy.ml
creator
link
fedilink
12
edit-2
5d

Look, problems like CSAM can’t be solved just by shutting down the platforms used to distribute it. If one site goes down, they’ll just move to another. Problems like this can only be solved by addressing the root cause. However, on my end, i will do my best to tackle this issue.

Usually you just keep logs and then it’s up to the police to enforce, obviously not anonymous though.

@tobi_tensei@lemmy.ml
creator
link
fedilink
16
edit-2
5d

Yeah, that is the problem, If I started doing this, what is the point of being anonymous then.

@tobi_tensei@lemmy.ml
creator
link
fedilink
205d

Absolutely not. DeadDrop is built with privacy and security in mind, strictly for legitimate, ethical file sharing. It’s designed to empower users to share sensitive but legal information safely, not for any illegal activity.

I do not support or tolerate any use of the platform for sharing harmful or illegal content like CSAM. If such misuse is detected or reported, the file will be permanently deleted and the IP address will be blocked.

So naively then.

Do you have a suggestion on how to combat this while not snooping on a users files? Or are you just enjoying the soapbox?

They’re basically just poo-pooing the ideas of privacy and security, no more than “the government and corporations need access to everything you do because someone somewhere is doing bad things.”

It’s the same idea as “encryption bad because terrorists,” and “gun company bad because murders,” some people blame the people doing the bad thing, and some people blame the tool used or who created it.

deleted by creator

No, there isn’t a solution.

You can’t ethically provide anonymous no-knowledge hosting.

So if you are doing nothing wrong you have nothing to hide?

This project just looks like it was tailor made for CSAM.

That’s like sending letters to your water utility to ask them how they intend to stop people from drowning.

Hi, nice project. Why would I use your project over similar (open-source) projects like sharry and lufi?

I personally would prefer to use those alternatives because their source is available and can be reviewed, I didn’t see any reference to your source code - which is fine, but a no-go for me personally.

@tobi_tensei@lemmy.ml
creator
link
fedilink
14
edit-2
5d

Deadrop is open source. You can check out the source code here: https://github.com/Rayid-Ashraf/deaddrop

Good to know! I didn’t see a link in your about page.

@tobi_tensei@lemmy.ml
creator
link
fedilink
75d

Sorry about that — I recently open-sourced it and forgot to add the link. I’ll update it as soon as possible!

deleted by creator

@tobi_tensei@lemmy.ml
creator
link
fedilink
65d

Sorry, can you clarify which site are you referring to as i couldn’t find it. However, if I compare it with other file sharing sites, it works on Name + Password model, uses zero-knowledge encryption and has a lightweight and simple UI

deleted by creator

@tobi_tensei@lemmy.ml
creator
link
fedilink
3
edit-2
5d

(Thanks !) Well, the send’s website mentions that " Send will be terminated on May 24th. Costs are getting too high to keep hosting this service."

Leraje
link
fedilink
75d

Thats just the main instance, there’s a list of public instances there too. I don’t think development is stopping, just hosting an instance

@tobi_tensei@lemmy.ml
creator
link
fedilink
7
edit-2
5d

I must admit send.vise.ee and deaddrop.space are both similar or I can say send-vis.ee is better. Deaddrop is still in its early stages of development, so if you guys have any suggestions or want anything that can make deadrop different. I am open to consider them.

deleted by creator

a paid one?

@tobi_tensei@lemmy.ml
creator
link
fedilink
25d

Yes, once there’s enough traffic, I plan to add an option for sharing larger files. The cost will depend on the file size.

@tobi_tensei@lemmy.ml
creator
link
fedilink
1
edit-2
4d

Thanks! The pricing is very affordable. Will definitely consider it for increasing the size limit

@tobi_tensei@lemmy.ml
creator
link
fedilink
5
edit-2
5d

Well, DeadDrop is still in its early stages of development and right now deaddrop is focused on sharing sensitive images and documents. Moreover, I don’t have money to pay the bills but will increase the size limit once the site gets good traffic. However, I can provide you upto 100 MB for free, DM me.

Create a post

A place to discuss privacy and freedom in the digital world.

Privacy has become a very important issue in modern society, with companies and governments constantly abusing their power, more and more people are waking up to the importance of digital privacy.

In this community everyone is welcome to post links and discuss topics related to privacy.

Some Rules

  • Posting a link to a website containing tracking isn’t great, if contents of the website are behind a paywall maybe copy them into the post
  • Don’t promote proprietary software
  • Try to keep things on topic
  • If you have a question, please try searching for previous discussions, maybe it has already been answered
  • Reposts are fine, but should have at least a couple of weeks in between so that the post can reach a new audience
  • Be nice :)

Related communities

much thanks to @gary_host_laptop for the logo design :)

  • 0 users online
  • 124 users / day
  • 1.05K users / week
  • 1.3K users / month
  • 4.58K users / 6 months
  • 1 subscriber
  • 3.75K Posts
  • 95.4K Comments
  • Modlog