One of the biggest technical hurdles for Nostr is finding a way sign events on web apps without browser extensions and without sharing the nsec with the web.

The browser is your enemy...

As soon as there is any meaningful growth in user base, let's say the next adoption cycle "and nsec gone"

Sure, nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft created NSECBunker, but there has not been any adoption or alternatives coming up.

Reply to this note

Please Login to reply.

Discussion

The only nip46 implementation that seems to always work is nak by nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6

This proves it can work but I can't be telling people to run a CLI program.

nsec.app works well for me

It's buggy, and uses an alternative flow that was shoehorned into the nips and almost impossible for clients like Ditto to support.​

You don’t have to use the OAuth flow. I login with the bunker connection string with some apps. Haven’t noticed any issues yet, but I don’t use it every day.

The problem is the part where you have to open a link to nsec.app as part of the login flow. This really should not be in the nips. It's a hacky workaround for the fact it's a PWA, and very difficult to surface to the user in some situations (like Ditto where this is happening in a backend as part of an http request).

Do you mean to approve the connection? I usually just keep my nsec.app dashboard open on the initial connection. I use the bunker connection string with my app notacomment which is a node.js app and has no frontend.

Here’s my bunker connection flow:

https://github.com/SamSamskies/notacomment/blob/6c7acc18a938e4afda95f7264f362f7b4a5cfb5a/src/nostr.js#L313-L340

I want an “nsec.app” like app on my Umbrel. It will be a little slow, but it makes sense.

That would be great, and it will help a lot!

I would even run it on my main node, spinning a secondary raspi even a raspi 0 would probably work if someone can package it nicely on raspiOS.

Wouldnt*

Did you try amber again recently?

Wen nostr tapsigner?

What about pushing adoption of convenient signing devices? Ya know, like ones you just hold to the back of your phone or scan a QR code?

For every like? No

This is a real hurdle. Imagine signing every event.

Likes?? So Web 2.0. No, exert 3 calories of effort and zap that fucking dude some fucking value!

Actually I was envisioning some sort of revocable key generated when authorizing the client

ALTERNATIVE TAKE: Unsecured nsecs improve freedom of speech because of plausible deniability. Who sent that Note ? Not me, I was hacked, look, it was published from a latvian vpn. *shrug*

I understand that for some, their nsec is important to keep. Thise people can take extra measures to secure it.

I'm not competent in regards to cryptography but on the top off my mind I would ask this:

Would it be secure enough to use a 24 word seedphrase as a "master key" while allowing signing posts and accessing data using the first 12 words?

Alternatively, to double the security: a 48 word seedphrase master key with a 24 word signing requirement.

Nostr suggestion.

2 layers of security:

Full-key (24 or 48 words)

Half-key (12 or 24 words)

Half-key would mean the first half of the words of the full-key.

At half-key level of security we can sign messages and do most things we can now.

At full-key level of security we can flag our profile as compromised, as well as deleting all half-key-signed notes after a date yy-mm-dd.

I guess we could also allow the deletion of all our notes at the full-key level.

Usage: the regular user would normallt use the half-key to access their Nostr profile and sign notes.

When/if the half-key is hacked/stolen, the user can flag their profile as compromised and set all new half-key-signed notes to be deleted. The user can now post messages with their full-key and explain what happened, create a new Nostr profile and guide their friends there.

The thief with half-key access would have their half-key-signed notes deleted due to the compromisation flag.

Is it possible to use ccq as a nsd?

I built a hardware signer. however.... the esp32 lacks processing power making it takes a second to sign events which isn't great for UX. this can be improved in how clients feedback to users.

Nooooooooo wrong direction, abort abort abort

pls elaborate. also what's happening with sats link?

Soon™️

Hmm.. 🤔

So much useful stuff. Is there already a github page somewhere to list the nostr resources like this one?

The average social media user can't even manage a password and has been trained for a decade that it's as easy as hitting the 'reset password' button to regain access to an account. With Nsec gone, it's going to be very hard for these people to understand. We have to make it as easy as possible. If they have to watch a video on how to do it, we've already lost them. God bless those who are building and trying to figure this out with the least amount of trade offs possible.

I think we ought to revert the race to the bottom. Evolution works by naturally rewarding “better” instead of forcing everyone to the lowest common denominator. Not bigger is better, better is better.

this 💯

It’s even more complex with PWA’s (iOS where you can’t use the extensions

t-y 4 thread

I think no one is working in a nip 46 signer for iOS yet

What are your thoughts on a chain of trust structure for nsecs? A user would have a root nsec stored on a hardware device. When a Nostr app wants to authenticate a user, it can request a signed event from the root nsec to attest for the newly generated client-specific nsec. The root nsec stays secure and can revoke the client nsec later, and the client doesn't need to deal with any remote signing.

But how will others know they're from the same user

One idea is to have a tag reference the root public key. The client verifies the event is authentically published by querying for the attested public keys from the event published by the root key

It should be possible to have key rotation right? Something like changing your nsec every now and then.

I know how to do this in a self sovereign way. It basically gives you a ‘reset pass’ flow as well. It would require a few things though, which I can only describe atm and not yet code into existence.

Please write it down, maybe there is something of value other people haven't already thought about.

I’m writing it down here for now: https://github.com/pubkeychain/pkc-protocol

Do you have recommendations where to share this for some feedback?

Why inscribe them? Just post as nostr events.

For the unique static identifier linked to a permanent record on a distributed ledger that you own.

It's a safety net. If your nsec is compromised you would want a way to rotate the keys that is not accessible simply by way of having the nsec in hand. If all you require is nostr events, then the bad actor that grabbed your keys could post these same events in your name and permanently lock you out.

It is also service-agnostic and nostr is not the only reason you might use this, just currently the most obvious one.

Your proposal will get a lot of pushback for wanting to inscribe garbage into the bitcoin timechain. It can be solved on nostr natively like the way pgp does it like with revocation lists, but with the additional signaling layer nostr provides.

I’m aware. But it’s and idea I would like explored and debated, not simply dismissed on principle.

I've been using amber to login to almost all of the apps I use

https://github.com/greenart7c3/Amber/releases

ButThePeoploAreRetarded.gif

Especially pablo

Are we talking about creating a native Nostr browser?

Or a physical hardware key? (you can only log in/interreact with your nsec/account with 1 usb device? or some kind of 2fa?

People handwave this away but it’s a big deal

Maybe web5 / DID can help with this?

Or FROST multisig

Spring 👀