@startuml participant "Filesystem Provider\n(e.g. Webbrowser)" as provider participant "webfuse\ndaemon" as daemon group add filesystem fails without authentication provider -> daemon : add_filesystem daemon -->x provider : error: access denied end group authenticate provider -> daemon: authenticate(type, credentials) daemon -> daemon: get_authenticator(type) daemon -> daemon: check(credentials) daemon --> provider: result end group add filesystem succeeds after authentication provider -> daemon: add_filesystem daemon -> daemon : fuse_mount daemon -> provider: okay end @enduml