@helge Apparently Streams has some mechanism for protecting attachments. Media URLs in non-public posts look like this:
https://{domain}/photo/{filename}.jpg?token={token}I don't know how exactly it works, but I assume this token somehow encodes post's audience and the server verifies that HTTP signature on GET request is created by an actor who is part of that audience.