We require a multi-platform (Linux, Windows, Mac) remote support solution like TeamViewer ([login to view URL]) with encrypted connections between clients, allowing one side to see and control the other side's screen/input devices, established/routed through a server in order to allow usage through NATs and firewalls. Clients will have a unique ID and require a password to authenticate. The application shall also allow to transfer files through an encrypted channel.