Distributed key generation primitives in JS. With this you can create a "group" with a threshold that has a shared secert and a public key for the group. This group can then sign on messages and when the threshold number of members sign anyone can create recover the groups signture on the message which can be validated against the groups public key. The signiture is also determinist no matter which members on the message.
npm install dkg