Replies (57)
Since notes are not editable or deletable, what do you think about an option to have a 3 second timer when you tap post so you can cancel it you see a typo?
Great idea. I also though about a preview before posting it. When people see the post as it will be displayed, they are more inclined to stop and verify it. Do you want to put a bounty into it?
The big questions are now, which relays will implement NIP-95 and then which relay operators will enable it?
#[0]
He’s gone rogue.

It's about event size for now. I was able to upload memes to many of them... Large images not so much.
Interesting.
Hang on so I can limit images to only one relay???
NostrFans will be launching earlier than planned!
I must be missing something on this NIP. I'll have to read it again later.
Amethyst has added the function to choose what relays your images spread to.
With this, I should be able to get an alpha build of NostrFans up and running very shortly.
View quoted note →
I thought that was what onlyzaps was when I first heard about it.
Lol same haha.
Mine actually is what you think it is. I've just been waiting for a way to limit images to subscribers only. Now I have it!
Working :)
Thank you
I can't see the image. That's normal?
Did you update?
😐 no. That might be it...
I am surprised how fast these are loading :)
Definitely not mine
NIP-95 one also processed faster in note writing section.
Are you sure? Because you are already hosting 7 NIP-95 images :)
I’m blocking it now
👀
See, that's your legitimate choice.
Isn’t someone can target specific relay with a lot of MB images data? 🤔 Then relay will just block it.
They don't need NIP-95 for that. You can simply send large kind 1s.
That would drastically increase the storage requirements of your server right? You’re already paying $600+ per month for Damus servers
On my to-do list for tomorrow… Add Kind 30064 to my relay’s blacklist… Problem solved. No CSAM on my server…
How does that work?
Yes and storing binary data in json is very inefficient. Not to mention note size limits.
Then we're going to find out if #[10] likes hairy, busted toenail, half chipped off nail polish, mat burn scarred, H width feet or just the classically pretty ones.
🤣
😂
😂
Yes, and yes! 🐶🐾🫡💯💯💯
🤷♂️
Kind 30064 is NIP-95 files. Given that I run an explicitly sex and porn-friendly relay I don’t want to run the risk of actually hosting child porn.
Good call. But NIP 95 is not your main problem. I assume you know that people can do this with any event kind. If they just want to turn your server into a storage of illegal content, they have all the nips available to do so. I would target the intention, not the tool.
When it comes to getting hauled into court intent matters. I can document a track record of working to prevent the dissemination of CSAM and other illegal content.
Rabble and I proposed “NIP-69” as a first step to get workable, bottom-up content moderation on Nostr.
Just today I somewhat publicly challenged the ASACP (the porn industry’s organization that fights CSAM) to get involved in the content moderation questions related to Nostr. I asked them to make statements supporting your approach to NIP-94 and to oppose NIP-95.
I’m doing my part. My intent is clear.
没忍住升级了37版本,试试看吧🌚🌚
View quoted note →
@Vitor Pamplona would be really happy if you would add
@Nostrfiles https://nostrfiles.dev/ as an image and video service 🙂
I am also offering audio messages since a bit. Maybe this could be another interesting feature for Amethyst as well?
So confused. Isn't NIP95 just metadata?
Nip 94 is metadata. Nip 95 is full file in relays.
And done. Kind 30064 has been blocked on relay.s3x.social.
I thought briefly about just specifying a really small size so it could be used for things like animated emojis - but then I took a look at how much you could show in a small file and I figured that was a bad idea as well. The pic below is only 21kb and it shows plenty - enough that if the content were illegal it would be a problem.
Let people put their CSAM on someone else's relay!

Can Amethyst add anything in the upload interface to help you?
Any chance you can have your server reply via a Relay API with NIP 95 data? You could just store all images as NIP-95 events (say saving the json file itself on disk) and send them back signed via that interface.
Wrong kind, though. 30064 was in an old version of the NIP. The current ones are 1064 for file headers and 1065 for the actual base64 data.
Somebody else can store the data. That's the beauty of Nostr: Clients need to figure out where things are :)
Thanks! But isn't it the other way around?
> Another defined event is the `1065` which is used as a header for the data contained in an event 1064. This way the data can be disclosed without overloading the communications when sending a large amount of data.
For now I've blocked both. Is there any point storing the header if you're not going to store the data?
Thanks for asking (seriously). I'm not a lawyer, but having been in the adult industry for ~15 years I've learned a thing or two…
The problem is if you're hosting adult content (images/videos, it's not really an issue with text) you need proof of consent and proof of age (plus the proof ownership or license to use that you need for all content). The site doesn't always have to have proof of consent / age on file, but it does need to confirm that they exist.
For example - take a photo of someone else on a beach and upload it to the Internet - no problem - it's a public place and there's no expectation of privacy. Do the same thing on a nude beach and you need proof of age and proof of consent.
The moment you host something without at least a nominal check of age and consent you open yourself up to all sorts of problems. The laws on CSAM and things like revenge porn are really strict and the penalties are often harsh. Big corporations get away with more because they have teams of lawyers. But a single significant legal incident can put a small company out of business.
I've got over a million unique images in my porn database at the moment (and probably another 600K or so I need to import). It's terabytes of data. And if I've learned one thing dealing with those is you don't store images/videos in databases - you store them externally.
@nothenry had suggested an approach where there was a more traditional POST to submit the image/video. That's something I could consider. But then it gets to your interface question - I'd need some sort of confirmation of:
- ownership/license
- consent
- age
But it's one thing when someone confirms those things on my site, but it's another thing for me to trust a 3rd party to confirm those things. Maybe… But I'd have to think about it some more.
But at the end of the day storing images/videos in the relay database is a non-starter for me even with all the documents in the world. I know better than to do that. Which is why I love NIP-94, but not NIP-95.
NIP-95 sounds like a lot of legal liability, depending on your juridiction.
How to handle outright abuses?
In the same way you have to handle them in text. The legal framework is quite similar.
Single value is a valid json. So it is as (un)efficient as base64...