SuffolkLITLab / docassemble-AssemblyLine

Quickly go from a paper court form to a runnable, guided, step-by-step web application powered by Docassemble. Swap out branding and pre-built questions to meet your needs.
https://suffolklitlab.org/docassemble-AssemblyLine-documentation/
MIT License
43 stars 5 forks source link

Support digitally signing PDFs if a signature image is added #405

Open nonprofittechy opened 2 years ago

nonprofittechy commented 2 years ago

See #402

BryceStevenWilley commented 1 year ago

https://github.com/docusealco/docuseal is an alternate Open source thing (in ruby though) that says it handles this; we can at least look at the architecture to figure out what happens, and how to translate it for us. Likely might require logged in users / private keys stored on the server.

BryceStevenWilley commented 1 year ago

Finally found a python library purpose built for this specific thing: pyhanko! Here's a link to the docs about using the python API: https://pyhanko.readthedocs.io/en/latest/lib-guide/signing.html. The invisible signature should be enough, with information about their email if possible.

We do need to have a way of generating private keys to sign with. I think that either means storing them of the DA server (would be nice for them to be user encrypted), or, if we verify someone's email, we could also send them a copy; thoigh 99.99% of people (myself included) wouldn't know what to do with a private key emailed directly to them.