The design with the original freenet could be described as a collective communal hard drive. No individual knew or had control of what content, or more likely portions of content, their node held. They simply offered up an amount of space to the net along with bandwidth.
The data was all encrypted and defined by content hash keys with each request being passed from node to node asking for the key. If the node had it then it was passed to the node requesting it from them, which may or may not be the originator of the request.
Same way with inserts of content. That passing back and forth up a chain makes things functionally anonymous, but easily bottlenecked if you have some slow node in the path.
By not knowing or having control what's stored on their own node it gives the operator plausible deniability in theory. Not sure if that was ever properly tested in a court.