So… to store encrypted data that only the user can decrypt you don’t need any fancy zero knowledge algorithms. Just have the user keep the encryption key.
For authentication you could use one of these algorithms. OPAQUE seems to be popular. I’m not an expert but it seems like it has several neat zero-knowledge style properties.
But probably forget about implementing it without a strong background in cryptography.
No, they’re inherently optional in Git. There’s no way to “check in” a git hook. You have to put in your
README
You definitely need to actually check the lints in CI. It’s very easy though, just add
pre-commit run -a
to your CI script.