LibreSign / libresign

✍️ Nextcloud app to sign PDF documents
https://libresign.coop
GNU Affero General Public License v3.0
448 stars 51 forks source link

Add visible date+time to each signature or a signature-audit-trail #1766

Open Bolli84 opened 1 year ago

Bolli84 commented 1 year ago

To handle the signatures visible and nicely, it would be good to add a date/timestamp for signing next to each signature.

During the "placement of visible signatures" it should be the option to add:

It should be possibly selectable for each signature individually.

Alternatively, a placeable "textbox" with the full signature route "Who, when" should be placeable as separate solution. This box would have an won placement in the selector and should be a single item.

vitormattos commented 2 months ago

https://github.com/LibreSign/libresign/issues/2888#issue-2261874992

When creating a signer as an author, I want to be able to enable insertion of Name and Signature Date&Time next to the signature, so that that information appears on the document when signer signs the document.

See suggested addition in red in addition to the signers signature:

Screenshot 2024-04-24 at 19 59 23
vitormattos commented 6 days ago

I think that we will need to have templates to implement this feature.

I already implemented this change, but is an experimental feature:

Following the base idea of PR #2970, that use a template to generate the footer and looking at JSignPdf about what's necessary to put a visible element at PDF file, I think that the most simple way will be use a fixed template.

Points to think more:

Dimension of signature fixed

I identified the follow points to implement a fixed template, will be necessary fix the size of signature component. This is the most simple point but have impacts, an impact is that when the dimension of PDF file is less than the dimension of signature, don't will be possible sign the document using visible signature.

How to implement this visually?

This is the biggest problem for now and have two points: the interface of LibreSign and how will be displayed at LibreSign.

Maybe the most simple way will be make possible to admins choose if will use a template or if will be free to signers to draw the signature. Will be possible to an admin to define if the signer only will use the template or the signer, will be possible to draw your own signature? We will put the signature at left side of component? We will allow to use only the image of signature with a background?

At JSignPdf side (the base of LibreSign), the best solution is the follow:

Funding

The main point is that we need to think what's the most simple way to implement this feature because we haven't funding to pay the development of a big and complex functionality. For now what we receive from LibreSign pay less than 1/5 of necessary to pay a month of an Engineer.

Did you have any suggestion @bigbeka?

bigbeka commented 5 days ago

Hi @vitormattos thank you for putting together an experimental implementation of this feature.

  1. As an end user, I would suggest implementing something that will work very similar as Adobe Acrobat/DocuSign. This means that user is able to place a hand drawn or typed signature in the document where the admin dedicates space for it. Plus, admin is able to place the signature field anywhere on the PDF on any page, not just footer. And the admin also has an option of enabling date/time right next to the signature. Or add date/time separately as a separate filed and place that anywhere in the document.
  2. Footer signatures/meta data of the signature would not work, especially when you might high different sizes of PDFs and the footer might already be occupied with other data. I personally would want to use the footer validation message (with QR code). But I can't use it as in most cases the footer validation message would cover some content on some pages of a given PDF. I believe DocuSign implements the validation message perfectly by placing it in the header of PDFs.
  3. Funding: This could be a chicken an egg situation, where you can't get funding because the solution is not usable, and you can't develop a working solution because you don't have funding. To motivate the users to donate to the project, it might be helpful to set goals and outline which goal would deliver which features? I have seen https://github.com/sponsors/RaspAP implement this nicely, where they promise to release the next demanded list of features if they get certain amount of donations. -- In addition, maybe Nextcloud community might be able to help out with development? I would say that LibreSign would improve Nextcloud as an offering greatly if this was a well polished plugin that was core plugin of Nextcloud. Are you in touch with Nextcloud?
vitormattos commented 5 days ago

3. Are you in touch with Nextcloud?

I already worked to Nextcloud at development of app Talk by 2 years. I already had some talks with Frank about this and at all moments I didn't identified interest to put LibreSign as featured app. I think that Nextcloud only like to put as featured app the apps that is made by Nextcloud.

But, a movement from community side to request this to Nextcloud sounds good. Talk with Jos could be good but I think that only Frank can approve this idea.

bigbeka commented 5 days ago

In addition, I could also see Self-hosted podcast being very useful if you can get on their radar. Both of the hosts are into Nextcloud and they also review useful tools on their show, they might be able to plug LibreSign as "DocuSign" replacement.

As I said, if LibreSign is polished and with slightly more features, maybe people would use it in production.