OpenClaw Agreement Sender

PassAudited by VirusTotal on May 12, 2026.

Overview

Type: OpenClaw Skill Name: openclaw-docusign-agreements Version: 0.1.0 The skill bundle is benign. The `scripts/send_agreement.py` script performs its stated function of detecting signature blocks and creating DocuSign envelopes by interacting with NanoPDF and DocuSign APIs. It reads specified local files (PDF, signers JSON), accesses API keys and endpoints from environment variables, makes HTTP requests, and writes audit files to a designated output directory. All actions are clearly aligned with the skill's purpose, and there is no evidence of intentional harmful behavior, such as unauthorized data exfiltration, persistence mechanisms, or prompt injection attempts in `SKILL.md`.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A client agreement could be sent with incorrectly assigned signature tabs if NanoPDF output lacks clear signer keys or if the user expected to review a draft first.

Why it was flagged

The script defaults to sending the DocuSign envelope and automatically assigns unmatched signature blocks by signer order before posting to DocuSign, without an explicit pre-send confirmation step in the code.

Skill content
p.add_argument("--status", default="sent", choices=["sent", "created"], help="Envelope status") ... for block in unassigned: signer = signers[signer_idx % len(signers)] ... envelope_result = http_json(... method="POST", payload=docusign_payload ...)
Recommendation

Run with `--status created` by default, review the generated payload and tab placement, and require explicit user approval before sending live envelopes, especially for multi-signer or high-value agreements.

What this means

Anyone running the script with these environment variables can use the configured DocuSign account to create or send envelopes.

Why it was flagged

The skill requires provider credentials that can access NanoPDF and create DocuSign envelopes. This is expected for the integration, but users should understand the account authority being delegated.

Skill content
Set required variables: ... `NANOPDF_API_KEY` ... `DOCUSIGN_ACCOUNT_ID` ... `DOCUSIGN_ACCESS_TOKEN`
Recommendation

Use least-privileged, short-lived credentials where possible, keep tokens only in environment variables, and avoid running the skill in shared or untrusted environments.

What this means

Confidential contract contents and signer names/emails may remain on disk in the output directory after the envelope is created.

Why it was flagged

The saved DocuSign payload includes signer information and `documentBase64`, meaning the local audit file contains the agreement contents in encoded form.

Skill content
(out_dir / "docusign_payload.json").write_text(json.dumps(docusign_payload, indent=2), encoding="utf-8")
Recommendation

Store the output directory in a secure location, restrict access, and delete or redact audit files when they are no longer needed.