<style> div#doc { max-width: 100%; } </style> The NAAN registry provides the source of authority for ARK identifier prefixes (NAANs). ARK resolver instances use the NAAN record information to determine how to resolve an ARK identifier to the registered target. ```plantuml @startuml Actor User as user Participant "N2T\nScheme\nResolver" as sr Participant "ARKS.org\nPrefix\nResolver" as gr Participant "Resource\nResolver" as rr Participant "Resource\nServer" as rs user -> sr: n2t.net/**ark:**/12148/bpt6k10733944 activate user activate sr sr --> user: 302 "https://arks.org/ark:/12148/bpt6k10733944" deactivate sr user -> gr: arks.org/**ark:/12148**/bpt6k10733944 activate gr gr --> user: 302 "https://ark.bnf.fr/ark:/12148/bpt6k10733944" deactivate gr user -> rr: ark.bnf.fr/**ark:/12148/bpt6k10733944** activate rr rr --> user: 302 "https://gallica.bnf.fr/ark:/12148/bpt6k10733944" deactivate rr user -> rs: gallica.bnf.fr/**ark:/12148/bpt6k10733944** activate rs rs --> user: 200 "Aventures d'Alice au pays des merveilles / par Lewis Carroll ; illustrées par Arthur Rackham" deactivate rs deactivate user @enduml ``` ```plantuml @startuml !include <c4/C4_Context.puml> !include <office/users/users.puml> 'LAYOUT_AS_SKETCH() 'LAYOUT_LEFT_RIGHT() title ARK Identifier Landscape AddRelTag("indirect",$lineStyle=DashedLine()) System_Boundary(arkb, "ARK Infrastructure") { System(arks, "ARKS.org", "ARK identifier prefix resolver") System(naans, "NAANs", "CDLUC3/naan_reg_priv\nPrivate NAAN repository") System(arkspec, "ARKspec", "arks-org/arkspec\nARK specification repository") System(n2t, "N2T.net", "Name-to-thing identifier scheme resolver") } System_Ext(repo, "Repository", "Resolution targets\ne.g. EZID, ") Person(client, "Client", "Resolve ARK identifier") Person(curator, "Curator", "Curate NAAN records") Person(community, "Community", "Discuss ARKs", $sprite="users") Person(arktwg, "ARK-TWG", "ARKs technical discussion", $sprite="users") Rel(curator, naans, "Create, Update NAAN records") Rel(client, n2t, "Resolve identifier") Rel(client, arks, "Resolve ARK identifier") Rel(n2t, arks, "Redirect for ARK resolution", $tags="indirect") Rel(naans, arks, "Configuration") Rel(arkspec, arks, "Informs") Rel(arkspec, n2t, "Informs", $tags="indirect") Rel(arks, repo, "Redirect to target", $tags="indirect") Rel(client, repo, "Access target") @enduml ```