@startuml

User -> "S3-GW": AccessKey
"S3-GW" -> "FrostFS Node": Search objects

note right
Search by exact attribute matching:
**S3-Access-Box-CRDT-Name:** //AccessKey//
end note

"FrostFS Node" --> "S3-GW": AccessBox objects ids

"S3-GW" -> "FrostFS Node" : Head AccessBox objects
"FrostFS Node" --> "S3-GW": AccessBox object headers

"S3-GW" -> "S3-GW": Choose latest AccessBox

note left
Sort AccessBox headers by creation epoch
and then by ObjectID
Pick last
end note

"S3-GW" -> "FrostFS Node" : Get AccessBox object
"FrostFS Node" --> "S3-GW": AccessBox object

"S3-GW" -> "S3-GW": Decrypt and validate AccessBox

@enduml