Skip to content

✍️ Desktop electronic signature software. Sign your document (PDF, JPG...) using image or cryptography (PAdES, CAdES, XAdES).

License

Notifications You must be signed in to change notification settings

octosign/desktop

Repository files navigation

Octosign logo

Octosign - desktop electronic signature software

Sign your document (PDF, JPG...) using image or cryptography (PAdES, CAdES, XAdES).
Download »

Report bug · Request feature

Azure Pipelines Known Vulnerabilities Maintainability rating Unit test code coverage

Table of contents

Features

Screenshot from the application

  • Simple, straightforward interface (no technical details unless you want them).
  • Ability to sign and verify document signatures.
  • Sign a PDF using image signature - picked from the computer or drawn in the application.
  • Sign any file using the cryptography within the EU - using, depending on the country, for example, your eID.
  • Localized in several languages and open to new translations.
  • Open for extension with new signature types (Backends).
  • Available on all three major desktop platforms - Windows, macOS, and Linux.

Backends

Backends are what is doing the actual document manipulation and what is displayed as a choosable signature type in the upper part of the application. They are simple CLI applications that are communicating with the Electron application via STDIO. If you are interested in how this works, check the Backend specification. If you would like to create your own backend (it's quite simple to start!), check out the How to create backend guide.

Currently available backends (signature types):

Development

Clone this repository including submodules: git clone --recurse-submodules https://github.com/durasj/octosign.git.

Then, assuming you have the latest LTS version of Node.js with npm installed, you just have to install the dependencies, run build, and start the application:

npm install
npm run build:backends -- --skip-failed
npm run build
npm start

Backends that couldn't be built will be skipped. This helps getting the app up and running even if all backend-specific toolsets are not available (like JDK or Go). Those backends won't be available so you can fix your local ENV looking at the logged errors if you want.

Contributing

You are more than welcome to submit your proposed changes. Please try to match the codestyle of the existing code, include automated tests and make sure your build passes.

Thanks

Copyright and license

Code and documentation copyright 2019 Jakub Duras. Released under the MIT License.

About

✍️ Desktop electronic signature software. Sign your document (PDF, JPG...) using image or cryptography (PAdES, CAdES, XAdES).

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •