cross-posted from: https://infosec.pub/post/46083169
Hello,
I’m here to ask for guidance on an ongoing project. A number of years ago I wrote an Articles of Association for a worker’s cooperative as I think it should run. The main difference between a conventional co-op and mine is that a conventional co-op tends to have no hierarchy while in mine there is a CEO who gets elected periodically based on their business plan. The theory is that this brings democratic ideals into the workplace without sacrificing the productivity gains that result from hierarchical teamwork. You can read more detailed information on my Beehaw Post.
To put it into practice I need to create an open-source enterprise application server with applications specifically designed for the management of these companies. I created a block diagram to show you what I envision (attached to the post), and this represents my ideal “wish list” for what it should include.
The controls listed at the bottom will determine the permissions everyone has on the network and will be used to design GUI screens. I was going to draw connectors to each of the services but it would have turned into spaghetti.
I’m pretty decent with local programming including database and GUI design, but I lack experience with network programming.
So far I think I need to use XMPP for the messaging client and SSH for the rest. Since I’m most comfortable in Python I was going to look into Paramiko.
So my question is, where should I go in my research? Is there a particular component in the diagram you think I should try to build first?
Thanks in advance for any help, Juniperus
3rd comment: re: secure voting
The big thing behind secure voting, is not just is it secure, but also can you actually get people to use and trust it.
Sure you can have public key cryptography, signed messages based electronic voting, but "create a gpg key" is pretty difficult to get the average user to do.
And if you didn't know what any of those terms here, that only proves my point about people not knowing how these systems may cause them to not trust them.
Don't fall into the trap of inserting technology for technology's sake. You can do insecure email based voting (or chat app based), but the easiest thing for your sanity might just be paper ballots.
My current thinking is that the vote is electronic but you get a paper receipt with a bar code or something. Not sure how it will turn out, like many of these apps it's a whole project in itself