https://github.com/lobotomoe/revenant
Cross-platform Python client for ARX CoSign electronic signatures via SOAP API
https://github.com/lobotomoe/revenant
armenia cli cosign cross-platform digital-signatures dsa ekeng electronic-signature gui pdf-signing python soap
Last synced: 3 months ago
JSON representation
Cross-platform Python client for ARX CoSign electronic signatures via SOAP API
- Host: GitHub
- URL: https://github.com/lobotomoe/revenant
- Owner: lobotomoe
- License: apache-2.0
- Created: 2026-02-14T20:16:33.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-02-25T22:42:37.000Z (3 months ago)
- Last Synced: 2026-02-25T22:48:30.064Z (3 months ago)
- Topics: armenia, cli, cosign, cross-platform, digital-signatures, dsa, ekeng, electronic-signature, gui, pdf-signing, python, soap
- Language: Python
- Size: 4.8 MB
- Stars: 21
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Revenant
[](https://github.com/lobotomoe/revenant/actions/workflows/ci.yml)
[](https://pypi.org/project/revenant/)
[](https://www.npmjs.com/package/revenant-sign)
[](https://snapcraft.io/revenant)
[](https://www.python.org/downloads/)
[](https://nodejs.org/)
[](https://www.typescriptlang.org/)
[](LICENSE)
[](https://scorecard.dev/viewer/?uri=github.com/lobotomoe/revenant)
[](https://www.bestpractices.dev/projects/12008)
Cross-platform clients for [DocuSign Signature Appliance (DSA)](https://www.docusign.com/products/hybrid-cloud-appliances) (formerly ARX CoSign) electronic signatures via the SOAP API (OASIS DSS standard).
Originally built for the Armenian Government's EKENG CoSign appliance, but works with any CoSign / DSA server that exposes the DSS SOAP endpoint.
```
+-------------------+
| Python client |----+
+-------------------+ | SOAP/TLS +-------------------+
+-------------------> | CoSign appliance |
+-------------------+ | | (any server) |
| TypeScript client|----+ <----------------- +-------------------+
+-------------------+ Signed PDF
```
## Wait, isn't this thing dead?
Yes. DocuSign [officially retired](https://www.docusign.com/blog/developers/docusign-signature-appliance-to-be-retired-july-2023) the Signature Appliance product line on July 31, 2023. And yes, I built a cross-platform client for it in 2026. The appliance is discontinued, the docs are archived, the cipher suites are from a bygone era, and the server still happily runs on `TLSv1.0 / RC4-MD5` like it's 2011. What are you going to do about it?
The Armenian Government's EKENG CoSign appliance doesn't care about DocuSign's product roadmap -- it's on-prem, it works, and thousands of documents get signed through it every day. Somebody had to write a proper cross-platform client for it. Might as well be me.
## Install
### Desktop app
**macOS**
```bash
brew install lobotomoe/revenant/revenant
```
**Linux**
```bash
snap install revenant
```
[](https://snapcraft.io/revenant)
**Windows**
```powershell
winget install --source msstore 9NVH62M20DS3 # WinGet
scoop bucket add revenant https://github.com/lobotomoe/scoop-revenant
scoop install revenant # Scoop
```
Or download binaries from [GitHub Releases](https://github.com/lobotomoe/revenant/releases).
### Libraries
**Python** ([docs](python/README.md))
```bash
pipx install revenant # recommended
pip install revenant # or inside a venv
```
**TypeScript / Node.js** ([docs](typescript/README.md))
```bash
npm install revenant-sign
```
## Compatibility
Signed PDFs verified against third-party services that accept EKENG digital signatures:
- [x] [ekeng.am/sign_check](https://www.ekeng.am/en/sec_sub/sign_check) — EKENG signature validator
- [x] [e-request.am](https://e-request.am/) — e-request.am document upload
- [ ] [self-portal.taxservice.am](https://self-portal.taxservice.am) — Tax Service self-portal
- [ ] [file-online.taxservice.am](https://file-online.taxservice.am) — Tax Service online filing
## Documentation
Protocol, API, and server-specific docs live in [`docs/`](docs/README.md) and are shared between clients.
## References
- [DocuSign Signature Appliance API Guide v8.0 (PDF)](https://www.docusign.com/sites/default/files/Signature_Appliance_API_Guide_8.0.pdf)
- [DocuSign Signature Appliance Admin Guide v8.0 (PDF)](https://www.docusign.com/sites/default/files/Signature_Appliance_Admin_Guide_8.0.pdf)
- [OASIS DSS Standard](https://docs.oasis-open.org/dss/v1.0/oasis-dss-core-spec-v1.0-os.pdf)
- [EKENG CoSign page](https://www.ekeng.am/en/third_sub/cosign)
## Disclaimer
This is an **unofficial**, independently developed client. It is not affiliated with, endorsed by, or supported by EKENG, ARX, or DocuSign.
- This software is provided "as is" without warranty of any kind
- Electronic signatures carry legal significance — verify that your use case complies with applicable laws and your organization's policies
- You are responsible for safeguarding your CoSign credentials and for all signatures made using this tool
- This tool communicates with CoSign servers using the documented [OASIS DSS](https://docs.oasis-open.org/dss/v1.0/oasis-dss-core-spec-v1.0-os.pdf) SOAP protocol — the same public API described in the [official API Guide](https://www.docusign.com/sites/default/files/Signature_Appliance_API_Guide_8.0.pdf). No proprietary software is reverse-engineered or redistributed
## Privacy
This program does not collect, transmit, or share any data with the developer or third parties. It communicates only with the CoSign server you configure. See [Privacy Policy](docs/privacy-policy.md).
## License
Apache 2.0