@startuml title Forgot Password Flow skinparam handwritten false skinparam sequenceGroupBorderColor LightGrey skinparam sequence { ArrowColor Black ActorBorderColor DeepSkyBlue LifeLineBorderColor blue LifeLineBackgroundColor #A9DCDF ParticipantBorderColor DeepSkyBlue ParticipantBackgroundColor White ParticipantFontName Impact ParticipantFontSize 17 ParticipantFontColor Grey ActorBackgroundColor aqua ActorFontColor DeepSkyBlue ActorFontSize 17 ActorFontName Aapex } actor User User -> PixUA : Submit recovery code and new password alt submit successful PixUA -> BonafideClient : //Handshake// alt Handshake Successful PixUA -> BonafideClient : Generate Salt & Verifier alt Salt & Verifier Generation Successful BonafideClient -> LeapWebapp : Authenticate & Save New Password alt New Password Saved LeapWebapp -> BonafideClient : New Password Success BonafideClient -> PixUA : New Password Success PixUA -> SoledadClient : Save Secret With New Password alt Bonafide secret & new password saved successfully SoledadClient -> PixUA : Secret saved successfully PixUA -> User : Redirect To Confirmation Page else soledad failure PixUA -> User : Error Message end else bonafide failure LeapWebapp -> BonafideClient : New Password Not Saved BonafideClient -> PixUA : New Password Not Saved PixUA -> User : Error Message end else Salt & Verifier Generation Error BonafideClient -> PixUA : Salt Generation Error PixUA -> User : Error Message end else Handshake Failure BonafideClient -> PixUA : Handshake Failure PixUA -> User : Error Message end else submit failure PixUA -> User : Error Message end @enduml