@prefix this: . @prefix sub: . @prefix schema: . @prefix gen: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:paragraph a gen:Paragraph; schema:about gen:IndividualAgent; schema:title "Several keys, one person"; gen:hasContent """

It is normal to have more than one key: one in Nanodash, one on each machine you script from, one for a bot you run. Each has its own introduction and its own approval, and all of them are yours. Roles in spaces are granted to you, not to a key, so they apply whichever key you sign with — as long as that key is approved.

Bots are the exception: a bot is its own agent with its own identity and roles, owned by you rather than being you.

"""; gen:hasPositionString "060" . } sub:provenance { sub:assertion prov:wasAttributedTo . } sub:pubinfo { this: dct:created "2026-09-10T11:57:18Z"^^xsd:dateTime; dct:creator ; dct:license ; npx:introduces sub:paragraph; rdfs:label "Several keys, one person"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl8cMusqtNyKA6UIsi3f7BAcZmHQXWxU0qk0PLsboMWQxYrGBfGgHTgRHJrBRxL+Zn9kJHKVmz2smDcjCBptXi/OwWy80gjsx+Pbe6IWz3zFPWF1UoFIKfPnC0slV67CQgdM853zW7Bmk9/uflCtK4EtZKmPdRGtUHVC7DTVvDBMDzLRGdE2KCBVN29EbM5GGVNvijYbaZQ9OFQPBkQshayqSIyGRr6rreJdkrRVLIzu3uuAjKYydaeXZWSN2JLnVBwrClKUxaEdCwhb5nXpMtKOMD+R+LgaXLeJUWM8BdRSYnta9ZqI5pHY4y3v+eW7J+HHeTvRbHvlik+Z4hFUXmQIDAQAB"; npx:hasSignature "R4M4tG2Xmz00jZoqp3XbQ8zCaprROmClNLouGJePS3Z7pkQBjTX2lkZ8Vd+uucGwgdpfc6wnCDLTYMhQJSWLDAeBPqYRuFfRUTK9MywvtPiKfGiSyyZd//8w4ueNRunn60z+ciSc+1bPFH84SGUgrgCKaTXWxtmIzbyw48zdCl6QqP23yhvErWzAw0w5vvZIE1QqIanN7XtW5z+GMqACKYCJ5RnieK2IDGJeknxdyvnZkv7wjDId6lk5cENs0IH4lMVtq+oS5BvALkfo0DvgsMukOR6cFv1NLdGkvpbagRVhumqZLZBFr8HZf6w3CkCLdYKN2eXcumz9AHtL/ybaEA=="; npx:hasSignatureTarget this:; npx:signedBy . }