---
# System prepended metadata

title: NAAN Registry Workflow

---

<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
```


