A processor-implemented method for managing access to a shared endpoint of a network, the method comprising: receiving a user request to access a service associated with the shared endpoint; verifying that a user associated with the user request is authorized to access the service; in response to verifying that the user is authorized to access the service, obtaining a unique session identifier, USID, associated with the user request; generating a user session associated with the user request; adding the user session to a database containing a listing of active user sessions at the shared endpoint, wherein the listing comprises a plurality of user session entries; generating a data container and holding, in the generated data container, session data associated with the user session; encrypting, by the data container, the session data for the user session using the obtained USID associated with the user request; receiving, via input from a device associated with the user, an access code; determining whether the user request to access the service has already been processed, or whether a pre-defined condition for deleting an active user session has been satisfied; in response to determining that the user request to access the service has already been processed, or that the pre-defined condition for deleting the active session has been satisfied, removing the user session from the listing of active user sessions and destroying any data containers associated with the user session; otherwise, if the requested user session is active, comparing the inputted access code to the USID; and in response to determining that the inputted access code matches the USID, decrypting the session data associated with the user session and granting access to the service for the user receiving a user request to access a service associated with the shared endpoint; verifying that a user associated with the user request is authorized to access the service; in response to verifying that the user is authorized to access the service, obtaining a unique session identifier, USID, associated with the user request; generating a user session associated with the user request; adding the user session to a database containing a listing of active user sessions at the shared endpoint, wherein the listing comprises a plurality of user session entries; generating a data container and holding, in the generated data container, session data associated with the user session; encrypting, by the data container, the session data for the user session using the obtained USID associated with the user request; receiving, via input from a device associated with the user, an access code; determining whether the user request to access the service has already been processed, or whether a pre-defined condition for deleting an active user session has been satisfied; in response to determining that the user request to access the service has already been processed, or that the pre-defined condition for deleting the active session has been satisfied, removing the user session from the listing of active user sessions and destroying any data containers associated with the user session; otherwise, if the requested user session is active, comparing the inputted access code to the USID; and in response to determining that the inputted access code matches the USID, decrypting the session data associated with the user session and granting access to the service for the user the user request to access the service has already been processed, or that the pre-defined condition for deleting the active session has been satisfied, removing the user session from the listing of active user sessions and destroying any data containers associated with the user session; otherwise, if the requested user session is active, comparing the inputted access code to the USID; and in response to determining that the inputted access code matches the USID, decrypting the session data associated with the user session and granting access to the service for the user