GM Nostr! 🌞 🎁 Announcing Keycast πŸ”‘ A remote signing platform for teams. Remote signing (NIP-46) has always had a lot of promise. Apps like Amber, nsec.app, and others have made it possible to manage your nostr keys in a way that is safer than browser extensions or pasting your nsec around the internet. BUT, none of them catered to teams. Groups like @npub1nstr...rg5l and @npub19mdu...6vzk and many many companies out there are just sharing the main account nsec between different people and using it in different apps. A recipe for disaster. Keycast aims to finally fix this. It allows you to: - Manage teams of nostr users - Manage multiple keys that you want to give others access to - Create authorizations for those keys that grant specific permissions that can be changed, revoked, etc. - Create your own custom permissions - Run the signing infrastructure without any extra work And do it all in a self-sovereign way. Keycast is meant to be run on your server, by you. I think it's tremendously important that this sort of tool doesn't exist as a hosted service (which would basically be a huge key honeypot over time). The app is both a management web app AND a backend process that manages sub-processes that listen for remote signing requests, check permissions, and sign events. There is a basic docker setup to start, but my goal is to have this easily deployable to StartOS, Umbrel, Podman, and others. Code here:

Replies (66)

JeffG 's avatar JeffG
GM Nostr! 🌞 🎁 Announcing Keycast πŸ”‘ A remote signing platform for teams. Remote signing (NIP-46) has always had a lot of promise. Apps like Amber, nsec.app, and others have made it possible to manage your nostr keys in a way that is safer than browser extensions or pasting your nsec around the internet. BUT, none of them catered to teams. Groups like @npub1nstr...rg5l and @npub19mdu...6vzk and many many companies out there are just sharing the main account nsec between different people and using it in different apps. A recipe for disaster. Keycast aims to finally fix this. It allows you to: - Manage teams of nostr users - Manage multiple keys that you want to give others access to - Create authorizations for those keys that grant specific permissions that can be changed, revoked, etc. - Create your own custom permissions - Run the signing infrastructure without any extra work And do it all in a self-sovereign way. Keycast is meant to be run on your server, by you. I think it's tremendously important that this sort of tool doesn't exist as a hosted service (which would basically be a huge key honeypot over time). The app is both a management web app AND a backend process that manages sub-processes that listen for remote signing requests, check permissions, and sign events. There is a basic docker setup to start, but my goal is to have this easily deployable to StartOS, Umbrel, Podman, and others. Code here:
View quoted note →
Default avatar
npub133ps...hy97 11 months ago
Don’t mind Jeff just quietly solving nostr’s biggest problems πŸ‘πŸ‘
Default avatar
npub1r3g2...zdkk 11 months ago
Great Job JeffG!
JeffG 's avatar JeffG
GM Nostr! 🌞 🎁 Announcing Keycast πŸ”‘ A remote signing platform for teams. Remote signing (NIP-46) has always had a lot of promise. Apps like Amber, nsec.app, and others have made it possible to manage your nostr keys in a way that is safer than browser extensions or pasting your nsec around the internet. BUT, none of them catered to teams. Groups like @npub1nstr...rg5l and @npub19mdu...6vzk and many many companies out there are just sharing the main account nsec between different people and using it in different apps. A recipe for disaster. Keycast aims to finally fix this. It allows you to: - Manage teams of nostr users - Manage multiple keys that you want to give others access to - Create authorizations for those keys that grant specific permissions that can be changed, revoked, etc. - Create your own custom permissions - Run the signing infrastructure without any extra work And do it all in a self-sovereign way. Keycast is meant to be run on your server, by you. I think it's tremendously important that this sort of tool doesn't exist as a hosted service (which would basically be a huge key honeypot over time). The app is both a management web app AND a backend process that manages sub-processes that listen for remote signing requests, check permissions, and sign events. There is a basic docker setup to start, but my goal is to have this easily deployable to StartOS, Umbrel, Podman, and others. Code here:
View quoted note →
the axiom's avatar
the axiom 11 months ago
why do all the useful tools have to have this disgusting startup marketing aesthetics? "work together", give me a break
For single users Knox is great. For teams, less so. In any case, use what you want and stop complaining about having so many choices of high quality free software.
Default avatar
npub13q56...nrcq 11 months ago
Thanks for sharing. I didn't know about this project. I hope a GUI gets developed too.
the axiom's avatar
the axiom 11 months ago
using github to host code, what a sheep
πŸ’œπŸ”₯πŸ€™πŸ”₯πŸ”₯πŸ”₯πŸ”₯πŸ”₯
Default avatar
npub1we8q...c6je 11 months ago
I love the elegance of the policy system. Easy to understand, yet very powerful
Gotta chance how we do GiftWraps. We download everything and decrypt them all at startup. So, if your NIP-46 can manage 1000s of decryptions per second, we can make it work right now. Otherwise, I need to find a way to lazy load this.
I tried to run it, but got some weird problems on the compilation side or something, I'm not sure. The UI loaded, but the logs showed some errors and then I couldn't create a team. Also this was after a message was printed kindly asking me to rename "cargo.toml" to "Cargo.toml".
Not at all. Just took a short break. Only started working on keycast at the beginning of last week. I’ll be back to the messaging stuff just after Christmas.
Hmm. Middle of family stuff now but let me have a look a bit later. I might have just borked something while trying to get the docker stuff going last night.
Give me a bit of time to polish things up and then we can benchmark it.
That would be awesome. Would love to be able to also offer some bounties on permissions, getting lots of tests written, and having it deployable on lots and lots of systems.
I suspect @JeffG is working on a windows machine. since thats the only OS I know of that does not have case sensitive file names πŸ˜€ Also I cloned the repo and the files where missing the new line at the end of the files
see, the first mistake was wasting your time with a #rust thing and ... oh, i see, normally it is Cargo.toml... that's how much i care to dirty my hands with this shit, that smells of macos bullshit to me they love their PascalCase like they love their MacBook yeah, like @hzrd149 says, windows. haha... really, windows. i'm learning so much about this guy's mindset from this one little note
newline at the end of the file is not an OS related thing, i'm not even sure if there is any things that actually care either way, certainly i just add one for the funsies but when i haven't it has never made any difference to shell scripts, configuration files, for the most part, nothing stands out that i dealt with a lot that had a problem but maybe there was something years ago that got me started with adding them and configuring my IDE to put them in when reformatting, the fact that this is a configuration option is a red flag by itself but anyway, maybe working on windows but not using WSL2 then, because that usually means linux CR and final newlines by default working with windows shit trying to use GNU stuff is a nightmare, it's still not easy to get it configured right, i just don't have the time to spend yet another several days trying to get my shit to build compliant WOW64 binaries using GNU C/C++ libraries, just cant even... pure go or gtfo
Very odd. File explorer and terminal were showing the uppercase spelling but my guess is that I had it wrong early, changed it, and for some reason git was still tracking it in the old case without changing it... πŸ€·β€β™‚οΈ I'll push a fix (for a few things I found since announcing πŸ€¦β€β™‚οΈ) sometime soon. For now, it's Christmas time. πŸŽ…
A few questions I had for a friend - Are secret keys loaded into the same address space as the process running an http server? - Are secret keys stored in plaintext or reversible encryption accessible to the process running an http server? - Are secret keys stored in a file readable by the http server process? What is a public url of a hosted version one might play around with? Again asking for a friend.
The answer to all three is what you don’t want to hear. For v1 I’ve left a lot to desire. Keys are encrypted at rest but fetched/decrypted by the same process running the http server (but not from any of the http methods directly).
I'm looking for teams or companies that are looking to test Keychat out. Deployment via Docker should work well so if your team or company is willing to run a VM or install this on a server you already have, let me know. I'm happy to help you walk through the setup. View quoted note β†’
You're welcome. Here's more info.
JeffG 's avatar JeffG
GM Nostr! 🌞 🎁 Announcing Keycast πŸ”‘ A remote signing platform for teams. Remote signing (NIP-46) has always had a lot of promise. Apps like Amber, nsec.app, and others have made it possible to manage your nostr keys in a way that is safer than browser extensions or pasting your nsec around the internet. BUT, none of them catered to teams. Groups like @npub1nstr...rg5l and @npub19mdu...6vzk and many many companies out there are just sharing the main account nsec between different people and using it in different apps. A recipe for disaster. Keycast aims to finally fix this. It allows you to: - Manage teams of nostr users - Manage multiple keys that you want to give others access to - Create authorizations for those keys that grant specific permissions that can be changed, revoked, etc. - Create your own custom permissions - Run the signing infrastructure without any extra work And do it all in a self-sovereign way. Keycast is meant to be run on your server, by you. I think it's tremendously important that this sort of tool doesn't exist as a hosted service (which would basically be a huge key honeypot over time). The app is both a management web app AND a backend process that manages sub-processes that listen for remote signing requests, check permissions, and sign events. There is a basic docker setup to start, but my goal is to have this easily deployable to StartOS, Umbrel, Podman, and others. Code here:
View quoted note →
Yo @JeffG it would be amazing to have you on this call! I'd love the fact that the freedom tech community is getting into healthcare which needs to be fixed, just like our money. Solutions like Keycast will play a pivotal part in this. note1lnh3q6648ysulrx2pgeyhv2cqqle9vftdxalq3yqkqa7c89eljtqyr70nl
JeffG 's avatar JeffG
GM Nostr! 🌞 🎁 Announcing Keycast πŸ”‘ A remote signing platform for teams. Remote signing (NIP-46) has always had a lot of promise. Apps like Amber, nsec.app, and others have made it possible to manage your nostr keys in a way that is safer than browser extensions or pasting your nsec around the internet. BUT, none of them catered to teams. Groups like @npub1nstr...rg5l and @npub19mdu...6vzk and many many companies out there are just sharing the main account nsec between different people and using it in different apps. A recipe for disaster. Keycast aims to finally fix this. It allows you to: - Manage teams of nostr users - Manage multiple keys that you want to give others access to - Create authorizations for those keys that grant specific permissions that can be changed, revoked, etc. - Create your own custom permissions - Run the signing infrastructure without any extra work And do it all in a self-sovereign way. Keycast is meant to be run on your server, by you. I think it's tremendously important that this sort of tool doesn't exist as a hosted service (which would basically be a huge key honeypot over time). The app is both a management web app AND a backend process that manages sub-processes that listen for remote signing requests, check permissions, and sign events. There is a basic docker setup to start, but my goal is to have this easily deployable to StartOS, Umbrel, Podman, and others. Code here:
View quoted note →
↑