GM Nostr! 🌞

🎁 Announcing Keycast πŸ”‘

A remote signing platform for teams.

https://share.cleanshot.com/y4XbqKpT

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 nostr:npub1nstrcu63lzpjkz94djajuz2evrgu2psd66cwgc0gz0c0qazezx0q9urg5l and nostr:npub19mduaf5569jx9xz555jcx3v06mvktvtpu0zgk47n4lcpjsz43zzqhj6vzk 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: https://github.com/erskingardner/keycast

Reply to this note

Please Login to reply.

Discussion

gm

Niiiice!! Gonna take a dive into this soon. Awesome work!

GM! β˜• β˜€οΈ πŸ«‚

What nostr clients support nip46? I don't think #Amethyst supports it?

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.

Give me a bit of time to polish things up and then we can benchmark it.

Legend!

Don’t mind Jeff just quietly solving nostr’s biggest problems πŸ‘πŸ‘

Bravo!

This will improve team experience on nostr so much! Thanks for working on this πŸ€™πŸΌ

GMβ˜•οΈβ˜•οΈπŸŒ…πŸŽ„Christmas present 🎁 to the Nostr community πŸ’œ!

Cool!

NIP-46 for the win.

Ho ho ho πŸ§‘β€πŸŽ„ that’s very cool 🫢

why do all the useful tools have to have this disgusting startup marketing aesthetics? "work together", give me a break

What would you rather? Work alone in your mom’s basement?

my point is that signing events is not the exact definition of work

Yes it is. I constantly sign events for work

this is too complicated, use https://gitlab.com/soapbox-pub/knox instead

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.

using github to host code, what a sheep

Thanks for sharing. I didn't know about this project. I hope a GUI gets developed too.

Knocking it out of the park, well done chap πŸ‘

πŸ‘€

The amount of apps drops coming to nostr:npub126ntw5mnermmj0znhjhgdk8lh2af72sm8qfzq48umdlnhaj9kuns3le9ll is incredible! Thanks the hard work!

GM and Merry Christmas

Very great!

Beautiful present, thanks!

β™₯️

We need more of this, If you ask me Keycast is totally a candidate for funding on Angor.

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.

GM!

gm

wow. next level.

nostr:note1327htu9gr327h38yu5f6tueye4cajp3kc69cs3gl7w6q6rz09ufqukl74j

πŸ’œπŸ”₯πŸ€™πŸ”₯πŸ”₯πŸ”₯πŸ”₯πŸ”₯

Good Morning! MERRY CHRISTMAS!βš‘οΈπŸ’œβ˜•οΈπŸŽ„

Awesome stuff Jeff!

I love the elegance of the policy system. Easy to understand, yet very powerful

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".

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.

I suspect nostr:npub1zuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsk6c2uc 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

Nope. New Mac. I’m weirded out by that file name too.

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. πŸŽ…

Did you abandon nostr messaging?

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.

Thank you! you scared me a little haha

can't wait to see White-noise in action.

This is amazing!

Thank you!

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).

Gm

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.

nostr:nevent1qvzqqqqqqypzq9eemymaerqvwdc25f6ctyuvzx0zt3qld3zp5hf5cmfc2qlrzdh0qqsg40t47z5pc40tcnjw2ya97vjv6uweqcmvdzugg50l8dqdp38j7ys59sssx

My big man 😎

THIS is exactly the solution I've been most anxiously looking for!

Cool idea! I’ll see, maybe I can make it