Repository navigation
System features
Due to the increase in digital connectivity in this time and era, the client felt that he did not get enough privacy by using Centralised Servers, where all sensitive data is stored as well. Therefore, the client wanted a system that could provide privacy, be trustworthy and apply the concept of consent, in regards to blocking unwanted messages. Implementing these features will allow the client to regain his trust in the data he receives from other users.
My prototype of the web app has implemented the consent feature. A submit-form has been deployed which takes in input from the user and from a click of a button, blocks certain materials. This gives the user the capability to block, private messages or broadcasts, that contain certain words. However, if another user keeps finding his way around by using different words, the private messages and broadcasts received come with the username of the sender. To prevent the breach of consent, users are able to add usernames to the blocklist and any communication data will not be received from them again. The user will also have the ability to check their blocked users' list or block words' list and can also remove certain words or usernames from the block list at any time. To provide the user with some privacy, we have used SealedBox functions and private keys to encrypt any private message sent. The encrypted message can only be opened by the receiver who has the private key to decrypt it. Using any other private key, apart from the receiver's, will raise a "nacl.exceptions.CryptoError." Peer to peer connections and encrypting messages allows data not to be modified on the way and allows the receiver to place his trust on the message received.