Post

OK, I wrote up a whole blog post with some more detailed thoughts on this. Curious if anything here resonates with other folks. Thanks to @iame.li, @dholms.at, and @bnewbold.net for helpful pointers and discussions! pckt.blog/b/bits-of-en...

pckt.blogAll data should be permissioned data - Bits of EntropyMy post with vague complaints about the proposal that made for permissioned data got a bit of attention. Daniel was kind enough to take the time to chat with me...

@dholms.at - What is the right venue for discussion on this Permissioned Data proposal you wrote up. atp@ietf.org or something else? I think it is wrong in some pretty fundamental ways. Or at least the motivations are poorly articulated.

12 reposts56 likes

Part of my objective in writing this was to see if anyone else agreed with him on that :) I would be fascinated to hear any example where deniability made a positive impact in someone's life. I have never heard of one. Signal's deniability didn't even come into play in Signalgate!

ie most people i know talking about anything important are on signal here, and many places whatsapp, in various smallish overlapping groups plus some slacks and discords

I just came across this, but I love it. It captures basically all of my concerns in the proposal. I am especially concerned with the fact that the two protocols seem to end up as, well, two protocols. That seems like a big design smell. I am just taking off, but hope to have more thoughts later :)

> you have to essentially write two applications: One for public data, and one for private. i think for this kind of application, you could just write everything as permissioned data, and then have a public permission

Look forward to reading this! I will also take this opportunity to hate on deniability some more: Important to note that emails and RCS-E2EE SMS are both signed non-deniably. Does anyone think of those as not permissioned?

Like yeah, deniability is a smell. But is it as bad a smell as “let’s build a completely solution to solve it”? No. Not at all. Having a totally unrelated answer for private data is a massive smell.

Yeah honestly I just cannot get myself to care about that part. Am I right in thinking that you care about it because that’s what’s driving the wildly different architecture? Because yeah, in that case I definitely want the requirement to go away.

i don't think users expect that things they post are signed by their pds in a way where they're hard to deny after the fact, as one could with doctored screenshots. it's kinda bad enough in public atproto, but it's needed for relaying records. if we don't have that requirement anymore, why keep it?

The more relevant questions are when is *non-deniability* useful? For whom? That capability is NOT a baseline expectation elsewhere online. The web + screenshots usually don't offer durable, attributable *proof* that someone possesses an authentic copy of what you once put online

AT added that capability to help build new models for distributing public content, on the premise that this "equal playing field" tradeoff -- everybody has the same access/proof -- is better than existing models But that premise may not play well with folks with more serious concerns about privacy

Normal, non-deniable crypto provides two features here: 1. It keeps things simple. Better for builders, easier to understand. “Everything works the same except for the ACLs” 2. It enables redistribution in positive cases, if we can design redistribution systems that maintain the ACLs.

besides maintaining the user's expectation of privacy in a permissioned space, deniability is just a very distinct, understandable difference from public data. without it, users may not trust the stated benefits of using permissioned spaces, since they don't understand any of the other differences

I think you’re misunderstanding what deniability does. Content isn’t any more “non-existent” because it’s not deniable. The only question is what happens *after* it leaks, not how easy it is to find or leak.

if you don't have deniability at the protocol level, you can't then add it in on the application level, because someone could capture the raw protocol data. and it is critical for some use cases, especially those that are by their nature difficult to observe in the wild.

My lukewarm take is that everything will end up being permissioned data unless a whole lot of energy and effort is put to prevent that from happening. I think the public square is important and needs to be protected.