SQ-GIT(1)
β¨ NAME β¨
okay so bestie, welcome to sq-git-policy-authorize β it changes the authorizations. that's the whole vibe. that's the job. π
this is the sq-git manual page, and we're about to go through it together, no skimming, no skipping, every single flag gets its moment. π
πΈ SYNOPSIS πΈ
sq-git policy authorize [OPTIONS] NAME FILE|FINGERPRINT|KEYID
that's it, that's the shape of it: you run the subcommand, you throw some options at it, and you tell it who you're authorizing with a NAME plus a FILE, FINGERPRINT, or KEYID. slay. π¦
π DESCRIPTION π
Changes the authorizations. yep, that's the whole thing. β¨
here's the actually-important part though: a certificate can delegate any of its capabilities to another certificate without breaking an authentication chain. that's the magic trick. πͺ
and if you wanna fork a project, you create a new policy file. that's the move. periodt. π
π«Ά OPTIONS π«Ά
π Subcommand options
--add-userβ Grant the certificate the add-user capability.
this capability lets the certificate add users to the policy file, and also lets it grant them capabilities. but here's the catch, and it's a big one: a certificate that has this capability is only allowed to grant capabilities that it has. so if Alice has the sign-commit and add-user capability, she can grant Bob either of those, but she can't grant him the sign-tag capability, because she does not have that capability. no reaching into the cookie jar you can't open, bestie. πͺ
--auditβ Grants the certificate the audit capability.
this capability allows the certificate to audit commits. imagine: Alice has the audit capability, Bob has the can-sign capability, and then Bob revokes his key because it was compromised β suddenly all commits that Bob signed are considered invalid. π Alice can recover from this situation by auditing Bob's commit. and after auditing each commit, she marks it as good using sq-git policy goodlist. crisis averted, main character energy. π
--cert=FINGERPRINT|KEYIDβ The fingerprint or Key ID of the certificate to use
this is read from the user's default certificate directory.
see the top-level option --home for more information about the certificate store. π
--cert-file=FILEβ The file containing the certificate to authorize.
the file must contain exactly one certificate. not two. not zero. one. π―
--committerβ Grants all capabilities relevant to a committer.
a committer is authorized to commit changes to the code. this option grants the certificate the sign-commit capability. that's it, that's the committer bundle. β¨
--no-add-userβ Rescind the add-user capability from a certificate.
removes the add-user capability for the certificate. Note: this operation is not retroactive; operations that rely on this grant prior to the policy change are still considered authenticated. π
rescinding the add-user capability from a certificate does not rescind any grants that that certificate made. so: if Alice grants Bob the can-sign and add-user capability, Bob grants Carol the can-sign capability, and then Alice rescinds Bob's can-sign and add-user capabilities β Carol still has the can-sign capability. in this way, a grant is a copy of a capability. photocopied, not lent. π¨οΈ
--no-auditβ Rescind the audit capability from a certificate.
removes the audit capability from a certificate. the specified certificate cannot no longer mark arbitrary commits as good. π
--no-retire-userβ Rescind the retire-user capability from a certificate.
removes the retire-user capability from a certificate. the specified certificate cannot no longer rescind capabilities β even those that they granted. π¬
--no-sign-archiveβ Rescind the sign-archive capability from a certificate.
removes the sign-archive capability for the certificate. Note: this operation is not retroactive; archives signed with the certificate prior to the policy change are still considered authenticated. π¦
--no-sign-commitβ Rescind the sign-commit capability from a certificate.
removes the sign-commit capability for the certificate. Note: this operation is not retroactive; commits signed with the certificate prior to the policy change are still considered authenticated. π
--no-sign-tagβ Rescind the sign-tag capability from a certificate.
removes the sign-tag capability for the certificate. Note: this operation is not retroactive; tags signed with the certificate prior to the policy change are still considered authenticated. π·οΈ
--policy-file=POLICYβ Use an alternate policy.
the default policy is the openpgp-policy.toml file in the root of the repository's working tree. π
--project-maintainerβ Grants all capabilities relevant to a project maintainer.
a project maintainer is a person who is responsible for maintaining the project. this option grants the certificate all capabilities. the whole crown. π
--release-managerβ Grants all capabilities relevant to a release manager.
a release manager is authorized to commit changes, and make releases. this option grants the certificate the sign-tag, sign-archive, and sign-commit capabilities. π
--retire-userβ Grants the certificate the retire-user capability.
this capability allows the certificate to rescind arbitrary capabilities. so if Alice has the retire-user capability, she can rescind Bob's can-sign capability even if she didn't grant him that capability. scary power, use responsibly. β οΈ
--sign-archiveβ Grant the certificate the sign-archive capability.
this capability allows the certificate to sign tarballs or other archives. when authenticating an archive, an archive is considered authenticated if it is signed by a certificate with this capability. ποΈ
--sign-commitβ Grant the certificate the sign-commit capability.
this capability allows the certificate to sign commits. when authenticating a version of the repository, a commit is considered authenticated if it is signed by a certificate with this capability. β
--sign-tagβ Grant the certificate the sign-tag capability.
this capability allows the certificate to sign tags. when authenticating a tag, a tag is considered authenticated if it is signed by a certificate with this capability. π
π NAME
FILE|FINGERPRINT|KEYIDβ The filename, fingerprint or Key ID of the certificate to authenticate
this is first interpreted as a filename. if that file does not exist, then it is interpreted as a fingerprint or Key ID, and read from the certificate store. to avoid ambiguity, use --cert or --cert-file instead. seriously, bestie, if you're confused, just use the explicit flags. π«
see the top-level option --home for more information about the certificate store.
β Global options
see sq-git(1) for a description of the global options. go read that one too, i'm not redoing it here. π
π¦ SEE ALSO π¦
for the full documentation see <https://sequoia-pgp.gitlab.io/sequoia-git>. π
π VERSION π
0.6.0
and that's the whole page, bestie!! you read every single flag, every capability, every "not retroactive" warning, and i'm so proud of you. π₯Ήπ
sending you off with the classic sign-off: this gem is brought to you by Sequoia PGP, version 0.6.0, living its best life under the SQ-GIT(1) manual page name. go forth and authorize responsibly. πβ¨π
π¦ where this page comes from
- fedora 43: sequoia-git 0.6.0-4.fc43
- fedora 43: sequoia-git 0.6.0-6.fc43 Β· LGPL-2.0-or-later AND Apache-2.0 AND BSD-3-Clause AND BSL-1.0 AND MIT AND MPL-2.0 AND Unicode-3.0 AND Unicode-DFS-2016 AND Zlib AND bzip2-1.0.6 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT)
- fedora 44: sequoia-git 0.6.0-4.fc44
- fedora 44: sequoia-git 0.6.0-6.fc44 Β· LGPL-2.0-or-later AND Apache-2.0 AND BSD-3-Clause AND BSL-1.0 AND MIT AND MPL-2.0 AND Unicode-3.0 AND Unicode-DFS-2016 AND Zlib AND bzip2-1.0.6 AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT)
- nixos 26.05: sequoia-git 0.6.0
- nixpkgs unstable: sequoia-git 0.6.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms