{"_id":"@dotrino/sealers","_rev":"13-9704a7ab9b8f80cb9c9a65ade9c20b0f","name":"@dotrino/sealers","dist-tags":{"latest":"0.8.0"},"versions":{"0.1.0":{"name":"@dotrino/sealers","version":"0.1.0","license":"MIT","_id":"@dotrino/sealers@0.1.0","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"79403655e959c4886638e1c6509c27d9ca81564b","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.1.0.tgz","fileCount":7,"integrity":"sha512-u5iNmyGyMyLiCN1TfU2SfpG6SZ8gLmarL0mkiXZk0zJL44iu2hiLw/nPP+RRDxrZ+HtwblUOmUPzseX8nyMkOQ==","signatures":[{"sig":"MEUCIGEjfb6T7RqtMjiqhWUSsqYB0iFkP/oSQHRPf0XSbfi6AiEAt+H6x1OaebixLy5USYXuM/BMiAqb0VfInkLHkFfR/Vo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18310},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"9e08f2603e712371ae5d0421082b36e024bd8344","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"imdotrino","email":"imdotrino@gmail.com"},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"11.12.1","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@dotrino/vault":"0.42.0","@dotrino/identity":"0.71.0","@dotrino/remote-agent":"0.5.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.1.0_1788217783003_0.7361356336880092","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dotrino/sealers","version":"0.2.0","license":"MIT","_id":"@dotrino/sealers@0.2.0","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"40f604a56ba265c5e35e8c1a87f1ea174620ffb7","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.2.0.tgz","fileCount":7,"integrity":"sha512-nnjegzzTMdkbTUs1QmlcI0ZGSxThWqDVPLsRziPxevxu18HbNpKdZMEJYD8UFKiw1YqvbuJTOBoeSUmJUapNjw==","signatures":[{"sig":"MEUCIGRXBk8FLY9XBN1NJrCiuHIOK44XX9SwxAZkLCaDI2IAAiEAmAoySSaM8digPIp6RNuqMLTPgG6E0PQ2PeeoEjBYwHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21853},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"4b2797ad09d815e44a37c183d9b6e89070c578ed","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"imdotrino","email":"imdotrino@gmail.com"},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"11.12.1","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@dotrino/vault":"0.42.0","@dotrino/identity":"0.71.0","@dotrino/proxy-client":"0.13.1","@dotrino/remote-agent":"0.5.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.2.0_1788218788523_0.6852083997062686","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@dotrino/sealers","version":"0.2.1","license":"MIT","_id":"@dotrino/sealers@0.2.1","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"453111edd26b86abb21e780e3b7e340aec5ad88b","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.2.1.tgz","fileCount":7,"integrity":"sha512-AQRnA7IUT0eZ06zDe7wQpY96kr9CwFFZW85JICKzSDmKhC10+cvymrO5qrGevrTSVjnYaIY0UACfzKoj0NwYMw==","signatures":[{"sig":"MEUCIFGf2bi++JG5ZEPPmZVw9+2q5A8fvnmQzWogy1+sSGjrAiEA5mEcHeMtZBLXAWvP1r5N1wXSB6zA0d6heVovbVMNtec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22086},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"a1996a60990b186f1b455a6fa6d42e9288ec3892","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"imdotrino","email":"imdotrino@gmail.com"},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"11.12.1","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@dotrino/vault":"0.42.0","@dotrino/identity":"0.71.0","@dotrino/proxy-client":"0.13.1","@dotrino/remote-agent":"0.5.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.2.1_1788219388178_0.2605078126752094","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dotrino/sealers","version":"0.3.0","license":"MIT","_id":"@dotrino/sealers@0.3.0","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"bd0ea0f8b696fc0b1b1310d9abee4613b4e3da05","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.3.0.tgz","fileCount":7,"integrity":"sha512-6Z+RkWrN/coQBekxd0/z4SHuv/t/LdaZRwmNIyOgq6fj64WMqZkOF15k2nxyWChWAl7GRUOaF+tslQUV1pibkA==","signatures":[{"sig":"MEUCIFIxcOLKxJ2gyJ28psVMVUaBj7a7JqZiyij60QZ7ZIxPAiEAu3ydAHCUM/s1lvq/uoSiURkJ6roLw9TIOq8bdWgeQow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22748},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"63e49ddab4da870d02f9fe5440cc56a199f5d0ea","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"imdotrino","email":"imdotrino@gmail.com"},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"11.12.1","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@dotrino/vault":"0.42.0","@dotrino/identity":"0.72.0","@dotrino/proxy-client":"0.13.1","@dotrino/remote-agent":"0.5.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.3.0_1788220280196_0.5871614971384598","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@dotrino/sealers","version":"0.4.0","license":"MIT","_id":"@dotrino/sealers@0.4.0","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"c17d73dde1d5d353ebee880d0fe0d4decbe36c11","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.4.0.tgz","fileCount":7,"integrity":"sha512-J5Z0PY5v6b0RM1/cgXq9Q5aRZpbfWZAhNXwqNIpMRpFh7LCfvr0ZbAWSfoBMzTIYSP18ovthQpEcINnBMzfr8w==","signatures":[{"sig":"MEUCIQCUIwqJnKJOZwAKXSDtZnk5vgXvPQ7rHml08PeMU7jKcAIgA4ngauJV8sz3uG+guNGtkfOTvzNqJokZdDJE0mjfVqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25036},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"b9d367cfaebd190706aa820689a19455d5063672","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"imdotrino","email":"imdotrino@gmail.com"},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"11.12.1","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@dotrino/vault":"0.42.0","@dotrino/identity":"0.72.0","@dotrino/proxy-client":"0.13.1","@dotrino/remote-agent":"0.5.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.4.0_1788221614842_0.3440729141768526","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@dotrino/sealers","version":"0.5.0","license":"MIT","_id":"@dotrino/sealers@0.5.0","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"73fde5574fa0a224e241b81dfb2387aa65f2def8","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.5.0.tgz","fileCount":7,"integrity":"sha512-hlLiIp18tjKjSbGdpwLVn2q4G6lVG/Vs2J55wiKYadb3Mh4krSxcBW7r0Nuxj0tpGY0OEunvUqzMY+1wXxkqEg==","signatures":[{"sig":"MEUCIGff7hXfxdmMYCR/SRCN1Eg3DdNcznNcV9cEOSZXbOGBAiEAsiYHGlvVvQ3hdQWC9O5/qAoXcakdsztoBNXC7hu76jY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25991},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"f8c2bedfdd62d67797c136cf68bb7bb03381183a","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"imdotrino","email":"imdotrino@gmail.com"},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"11.12.1","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@dotrino/vault":"0.42.0","@dotrino/identity":"0.72.0","@dotrino/proxy-client":"0.13.1","@dotrino/remote-agent":"0.5.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.5.0_1788221820638_0.7047963756396849","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@dotrino/sealers","version":"0.6.0","license":"MIT","_id":"@dotrino/sealers@0.6.0","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"9565b5c574f76026cd8e9effc678313f5df27c00","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.6.0.tgz","fileCount":7,"integrity":"sha512-Bs31GHGYI1jlPKPhghC+na6MUJI0zATZrP/ggh33UBZB+isooIQrFQegKdJQg/tUrhH9b44ebQ02b24nG90eIw==","signatures":[{"sig":"MEUCICfCHk4HrcwhSUv5GGF/Ow7DHtE4+c+51JmXkLasjhfQAiEAm8xkG9I5A3B1az2+1B46GMGvnZYAL/ClN5uY2M1L4wI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25991},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"019ca185d8de1a350a2c04fb6bfe777d54aa8dce","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"imdotrino","email":"imdotrino@gmail.com"},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"11.12.1","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@dotrino/vault":"0.43.0","@dotrino/identity":"0.74.0","@dotrino/proxy-client":"0.13.1","@dotrino/remote-agent":"0.6.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.6.0_1788235120466_0.9678594860944085","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@dotrino/sealers","version":"0.6.1","license":"MIT","_id":"@dotrino/sealers@0.6.1","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"d4b361b830a393f8797d6be3941d4c580f38e797","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.6.1.tgz","fileCount":7,"integrity":"sha512-K7utr2AdotkVlN/U0Gj2O9wsEzTtLv8G9JxqBLI/iCHgxizwFsqIF4EpTgT0jvZnUgvfvDlKHq+f7GTu2/xBog==","signatures":[{"sig":"MEQCIAkZx0UDRatpA8nd3PhNkqQ1x/4HVrwwN+qnJ3xAAv9TAiAzmqNUijsIvLwuDKUCbNgRfe8thI48C4aNpQ04oT9NJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25991},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"66c0e52193ce91ebb4e402c69ebc528cd221aacf","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"imdotrino","email":"imdotrino@gmail.com"},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"11.12.1","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@dotrino/vault":"0.43.0","@dotrino/identity":"0.74.0","@dotrino/proxy-client":"0.13.1","@dotrino/remote-agent":"0.6.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.6.1_1788235301844_0.3867038260582112","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@dotrino/sealers","version":"0.6.2","license":"MIT","_id":"@dotrino/sealers@0.6.2","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"4c488bce6aa001ae79823896bd689174cc538115","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.6.2.tgz","fileCount":7,"integrity":"sha512-sqL32aBIzd9iD6+r8vhYJf6JfmFBZtuBe1UbVSSUaqSZHwXQjtslItgZvppnUawj8q2MKU4kGCEYe1NuAckhjQ==","signatures":[{"sig":"MEQCIHmlof7YN5KM98l5RRXyHxi14cu/Hi3n2mm6hdkzld9+AiApPLCvEefhi+J7zk+mMyaYTSpcC+1kIiyNWdn+3hfTPg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25991},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"73e04104b474d66ab4fb385e6e755afd139ae288","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"imdotrino","email":"imdotrino@gmail.com"},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"11.12.1","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@dotrino/vault":"0.44.0","@dotrino/identity":"0.74.0","@dotrino/proxy-client":"0.13.1","@dotrino/remote-agent":"0.6.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.6.2_1788235377953_0.5569968472460196","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@dotrino/sealers","version":"0.7.0","license":"MIT","_id":"@dotrino/sealers@0.7.0","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"e4b9d209cd399e9d47b6562480e13d4ab99fc163","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.7.0.tgz","fileCount":7,"integrity":"sha512-6FURPK2S2hSh9xBwECTzJq+Fb78c3lN4OwPAz1p+pLGZC8fKEO4ZJcUczp+0jAQD/bS2tUaHyTlCO/vK34Okvg==","signatures":[{"sig":"MEUCIQCfg2+jQVbNaXZDqJUYa+hItHVb19+Uw3gvrkWMqfrbwQIgUMtmV4Qb2r+pb3vSFDp4ALq9+WnZ3bSRlSyKho1IhTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26585},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"13b0953dbcb728436c6170cde1d8c96b8a24b825","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"imdotrino","email":"imdotrino@gmail.com"},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"11.12.1","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@dotrino/vault":"0.45.0","@dotrino/identity":"0.74.0","@dotrino/proxy-client":"0.13.1","@dotrino/remote-agent":"0.6.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.7.0_1788235957133_0.5800820762294399","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@dotrino/sealers","version":"0.7.1","license":"MIT","_id":"@dotrino/sealers@0.7.1","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"695546bc89793b5c8ff2559b117fca557c9b8ec9","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.7.1.tgz","fileCount":7,"integrity":"sha512-I0rudRaj5jFa0xzCYdE8zaqdilctuEhtRnsvpHEnPG8CK5KerbG/9a2D8DeqMjS2UIwP/IWw9zZ32sDdw3Vvtg==","signatures":[{"sig":"MEYCIQD5CTmASnSlKocfLq3Swo9aJC3W8/xfEoJj+aK7UIZd+gIhAMLScVZ420eN0rOJUj2EAHIKVJfXuZiBeltVaLLeH/yA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26585},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"53fbdb7b11b45d285436372dcc128ee82331b9b3","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"imdotrino","email":"imdotrino@gmail.com"},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"11.12.1","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"@dotrino/vault":"0.52.0","@dotrino/identity":"0.78.0","@dotrino/proxy-client":"0.13.1","@dotrino/remote-agent":"0.9.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.7.1_1788369215198_0.24335854248493072","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@dotrino/sealers","version":"0.7.2","license":"MIT","_id":"@dotrino/sealers@0.7.2","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"bin":{"dotrino-sealers":"src/cli.js"},"dist":{"shasum":"a5975b35404c4bcd42584a751347e9c6fce7cf04","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.7.2.tgz","fileCount":7,"integrity":"sha512-hE3G+BxWVotkSaeggubOzkXECUh78chtNcT8Caz6yamY/L4DNr0KSKpRZWBuqlQwZ0RIFSw6+I+Mz12ti13pxQ==","signatures":[{"sig":"MEUCIGg5XS7b3VurKHqrgZ2x4214w9PR4raylhzxH0SMRxyTAiEAgeVuoRj0uEMlJ+72MEWgzn7sGbqCGMNpMPHgJwzG8cw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dotrino%2fsealers@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26558},"main":"src/index.js","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"b85d24fe5ffe25b86cf920e9b855e78a58e9cae4","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:19842664-4f77-4c0c-b05f-cd225c889b35"}},"repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"12.0.2","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@dotrino/vault":"0.52.0","@dotrino/identity":"0.78.0","@dotrino/proxy-client":"0.18.2","@dotrino/remote-agent":"0.9.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sealers_0.7.2_1788666581378_0.23017697200766096","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"_id":"@dotrino/sealers@0.8.0","bin":{"dotrino-sealers":"src/cli.js"},"bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"dist":{"shasum":"e760171826024b0739a5f8de9206d817ba967e19","tarball":"https://registry.npmjs.org/@dotrino/sealers/-/sealers-0.8.0.tgz","fileCount":7,"integrity":"sha512-C09tqVzECHU+MEYdHkL91Sf4EqGzwrhs8ZsTG30T3U7Go2KRDMixpW7t3We2rcpwJ2ZMyCeFmu5akjjL+7d6Gw==","signatures":[{"sig":"MEQCH0y++yNb/WG2hOJukEZB+DnvRlF1ksDB+m2TqthePBMCIQDVQy75o9sZuFDk65/ceFu8AAT/xwFyvsBnT7zwGNV9HA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDjJn+9qV1r2X9vA8zcch9dzlCqrUz4icFBndrFpcZXlAiBETQ1HLLFaVz4aPbOPUT4qV4AKmRG9stzHX/shAOOBVQ=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dotrino%2fsealers@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27769},"main":"src/index.js","name":"@dotrino/sealers","type":"module","exports":{".":"./src/index.js","./validate":"./src/validate.js"},"gitHead":"e6eba4a6e2dc60bcf450147f3f1ae10a9c0ce05b","license":"MIT","scripts":{"test":"node --test \"test/*.test.mjs\"","start":"node src/cli.js run"},"version":"0.8.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"19842664-4f77-4c0c-b05f-cd225c889b35"}},"homepage":"https://github.com/imdotrino/dotrino-sealers#readme","repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"_npmVersion":"12.1.0","description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","directories":{},"maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"@dotrino/vault":"0.75.0","@dotrino/update":"0.2.2","@dotrino/identity":"0.105.0","@dotrino/proxy-client":"0.25.0","@dotrino/remote-agent":"0.12.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sealers_0.8.0_1790703985311_0.4209228478694551"}}},"time":{"created":"2026-08-31T23:09:42.830Z","modified":"2026-09-29T17:46:25.980Z","0.1.0":"2026-08-31T23:09:43.133Z","0.2.0":"2026-08-31T23:26:28.674Z","0.2.1":"2026-08-31T23:36:28.305Z","0.3.0":"2026-08-31T23:51:20.323Z","0.4.0":"2026-09-01T00:13:35.048Z","0.5.0":"2026-09-01T00:17:00.801Z","0.6.0":"2026-09-01T03:58:40.578Z","0.6.1":"2026-09-01T04:01:41.983Z","0.6.2":"2026-09-01T04:02:58.129Z","0.7.0":"2026-09-01T04:12:37.261Z","0.7.1":"2026-09-02T17:13:35.348Z","0.7.2":"2026-09-06T03:49:41.530Z","0.8.0":"2026-09-29T17:46:25.469Z"},"bugs":{"url":"https://github.com/imdotrino/dotrino-sealers/issues"},"license":"MIT","homepage":"https://github.com/imdotrino/dotrino-sealers#readme","repository":{"url":"git+https://github.com/imdotrino/dotrino-sealers.git","type":"git"},"description":"Registro público de cadenas de selladores: un testigo que cualquiera puede clonar. Guarda solo los eslabones donde cambia quién sella una identidad — no las actas.","maintainers":[{"name":"imdotrino","email":"imdotrino@gmail.com"}],"readme":"# @dotrino/sealers — el registro público de cadenas de selladores\n\nUn **testigo**: guarda, en un repo público que cualquiera puede clonar, los eslabones donde\ncambia **quién puede sellar** el acta de una identidad. Sirve para responder una sola\npregunta, la que no se puede responder sin ayuda de nadie:\n\n> Este documento lo firmó una llave que, según un acta que tengo del año pasado, podía\n> firmar. ¿Sigue pudiendo? ¿O ese aparato ya no es de esa cuenta?\n\nDocumentación de uso: **<https://wiki.dotrino.com/vault/registro-selladores/>**.\n\n## Qué se publica, y qué no\n\n**No se publican las actas.** Un acta lleva dentro los aparatos de una persona con sus\nnombres, qué servicios corre y cuándo entró cada uno: publicarla sería colgar el inventario\nde una casa en un repo público. Y cambian con cada emparejamiento.\n\nLo que se publica es el **eslabón** (`sealerLinkOf`, identity ≥ 0.72): un documento propio\nde ocho campos, firmado aparte y metido DENTRO del acta antes de firmarla. No es un acta\nrecortada —recortarla no vale, su firma la cubre entera— sino otra cosa:\n\n```json\n{ \"v\": 1, \"profileId\": \"…\", \"seq\": 2, \"by\": \"…\", \"sealers\": [\"…\", \"…\"],\n  \"prev\": { \"seq\": 1, \"hash\": \"6b7aead…\" }, \"iat\": 1788220371160, \"sig\": \"…\" }\n```\n\nLlaves públicas, un número y una firma. Ningún aparato, ninguna etiqueta, ningún cajón,\nningún llavero. Y encadena contra el **eslabón** anterior, no contra el acta anterior: el\n`sealerAnchor` del acta apunta a un hash que quien lee el registro no puede calcular.\n\nUn usuario con una sola bóveda **no aparece nunca** — no puede cambiar de selladores, así\nque no tiene nada que pueda quedar obsoleto. Quien suma una segunda escribe una línea.\n\nCada identidad vive bajo el sha256 de su `profileId`:\n\n```\nchains/6f/6f3a…c1/1.json      ← el génesis\nchains/6f/6f3a…c1/7.json      ← el eslabón donde entró la segunda bóveda\n```\n\nEso no es privacidad —tu `profileId` viaja en cada firma tuya, así que quien te haya leído\npuede calcular el nombre de tu carpeta— sino **no enumerabilidad**: quien clone el registro\nentero no se lleva una lista de llaves públicas lista para correlacionar.\n\n### Por qué firmado dos veces\n\nEl eslabón se firma, se mete en el acta, y el acta se firma encima. De ahí sale que no\npuedan contradecirse: quien tiene el acta la verifica y con eso el eslabón de dentro queda\nvalidado —no hay un segundo documento en el que confiar—, y quien solo tiene el registro\nverifica la firma del eslabón, que es de la misma llave y dice lo mismo. `verifyActa`\ncomprueba además que el eslabón y el acta digan lo mismo sobre quién sella.\n\n## Por qué se puede confiar en él sin confiar en él\n\n**El registro no puede mentir.** Cada eslabón se verifica contra el génesis, que está\nautofirmado por la llave que da nombre al perfil, y `verifySealerChain` comprueba la cadena\nentera del lado de quien lee. Un registro comprometido no puede inventar que alguien sella\npor ti: lo peor que puede hacer es **callarse**, y contra eso la defensa no es confiar más\nen él sino que haya varios y se puedan comparar. Por eso el repo es público: un `git clone`\nte convierte en testigo.\n\nY es **append-only por construcción**, no por una regla que alguien recuerde: el servicio\nescribe con la API de contenidos de GitHub sin pasar `sha`, y ahí crear un archivo que ya\nexiste falla. Los PR pasan además por `scripts/validate-pr.mjs`, que rechaza cualquier\ncosa que no sea añadir.\n\n## Cómo se publica\n\nDos caminos, y el segundo existe porque el primero no debe ser obligatorio:\n\n1. **Por el proxio** (lo normal). Se manda `{ op: 'sealers.publish', chain }` a la pubkey\n   del testigo con `sendByPubkey`, y contesta con `sealers.publish.result`. **Puede\n   publicar cualquiera** — un eslabón se verifica solo, así que depositarlo no es un\n   privilegio sino un favor: si tu bóveda estaba apagada cuando tocaba, lo deposita después\n   otro aparato tuyo o quien te verificó.\n\n   Por eso el testigo **no** es un `startRemoteAgent`: un agente remoto verifica al cliente\n   contra su propia cuenta, y aquí hace falta lo contrario. Escucha en el proxio\n   identificado con su llave, y acepta de quien sea, con una cuota por remitente (20/min)\n   que solo protege el trabajo de comprobar firmas y la cuota de la API de GitHub.\n2. **Por PR**, a mano, añadiendo los archivos. El validador de CI comprueba lo mismo.\n\n## Correr el testigo\n\n```sh\nnpm i -g @dotrino/sealers\ndotrino-sealers enroll \"<invitación del vault>\"\nSEALERS_REPO=imdotrino/dotrino-sealers dotrino-sealers run\n```\n\nEl token de GitHub **no va en el entorno ni en un `.env`**: sale de un cajón del vault\n(`secret set sealers GITHUB_TOKEN <token>`), sellado a la llave de este servicio. Quitarle\nel aparato le quita la escritura, sin tocar el servidor.\n\n| Variable | |\n|---|---|\n| `SEALERS_REPO` | `owner/nombre` del repo del registro (requerido) |\n| `SEALERS_NS` | cajón del vault del que sale el token (default: `sealers`) |\n| `SEALERS_DIR` | dónde vive el enlace de este aparato |\n\n## Desarrollo\n\n```sh\nnpm install && npm test\n```\n\nMIT.\n","readmeFilename":"README.md"}