Commit graph

104 commits

Author SHA1 Message Date
Ephraim Duncan
4935f387bf
feat: signing reminders (#1749) 2026-04-14 21:01:53 +10:00
Ephraim Duncan
9bfaa08d38
fix: documents table team email recipient lookup (#2578) 2026-04-07 20:10:38 +00:00
David Nguyen
e3b7a9e7cb
feat: add ability to save documents as template (#2661) 2026-04-01 16:03:26 +11:00
Lucas Smith
2346de83a6
fix: replace z.string().email() with RFC 5322 compliant zEmail() (#2656) 2026-03-26 16:31:21 +11:00
Lucas Smith
814f6e62de
fix: replace z.string().email() with RFC 5322 compliant ZEmail/zEmail (#2655) 2026-03-26 13:31:26 +11:00
David Nguyen
48fb066b9a
feat: allow editing pending envelope titles (#2604) 2026-03-19 14:03:30 +11:00
David Nguyen
0b605d61c6
feat: add envelope pdf replacement (#2602) 2026-03-18 22:53:28 +11:00
Lucas Smith
6b1b1d0417
fix: improve webhook execution (#2608)
Webhook URLs were being fetched without validating whether they
resolved to private/loopback addresses, exposing the server to SSRF.

Current SSRF is best effort and fail open, you should never host
services that
you cant risk exposure of.

This extracts webhook execution into a shared module that validates
URLs against private IP ranges (including DNS resolution), enforces
timeouts, and disables redirect following. The resend route now
queues through the job system instead of calling fetch inline.
2026-03-13 15:02:09 +11:00
David Nguyen
7ea664214a
feat: add embedded envelopes (#2564)
## Description

Add envelopes V2 embedded support

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-03-06 14:11:27 +11:00
David Nguyen
6faa01d384
feat: add pdf image renderer (#2554)
## Description

Replace the PDF renderer with an custom image renderer.

This allows us to remove the "react-pdf" dependency and allows us to use
a virtual list to improve performance.
2026-03-06 12:39:03 +11:00
Lucas Smith
006b1d0a57
feat: per-recipient envelope expiration (#2519) 2026-02-20 11:36:20 +11:00
Konrad
e222a872d2
fix(i18n): rewrite audit log messages to support correct grammar (#2455) 2026-02-09 13:20:12 +11:00
Lucas Smith
0a3e0b8727
feat: validate signers have signature fields before distribution (#2411)
API users were inadvertently sending documents without signature fields,
causing confusion for recipients and breaking their signing flows.

- Add getRecipientsWithMissingFields helper in recipients.ts
- Add server-side validation in sendDocument to block distribution
- Fix v1 API to return 400 instead of 500 for validation errors
- Consolidate UI signature field checks to use isSignatureFieldType
- Add E2E tests for both v1 and v2 APIs
2026-01-26 15:22:12 +11:00
Lucas Smith
9035240b4d
refactor: replace pdf-sign with libpdf/core for PDF operations (#2403)
Migrate from @documenso/pdf-sign and @cantoo/pdf-lib to @libpdf/core
for all PDF manipulation and signing operations. This includes:

- New signing transports for Google Cloud KMS and local certificates
- Consolidated PDF operations using libpdf API
- Added TSA (timestamp authority) helper for digital signatures
- Removed deprecated flatten and insert utilities
- Updated tests to use new PDF library
2026-01-21 15:16:23 +11:00
Catalin Pit
bb3e9583e4
feat: add default recipients for teams and orgs (#2248) 2026-01-13 20:32:00 +11:00
David Nguyen
c2ea5e5859
fix: migrate certificate generation (#2251)
Generate certificates and audit logs using Konva instead of browserless.

This should:
- Reduce the changes of generations failing
- Improve sealing speed
2026-01-06 14:26:19 +11:00
Catalin Pit
90fdba8000
feat: get many endpoints (#2226)
Co-authored-by: Lucas Smith <me@lucasjamessmith.me>
2025-12-24 11:02:02 +11:00
Catalin Pit
baa2c51123
feat: add delegate document ownership option (#2272)
When using an API key created in a team context, the
documents/templates’ owner always defaults to the team API token
creator, rather than the actual uploader.

For example, John creates the API key for the team "Lawyers". Tom and
Maria use the API key to upload documents. All the uploaded documents
are attributed to John.

This makes it impossible to see who actually uploaded a document.

The new feature allows users to enable document ownership delegation
from the organization/team settings.
2025-12-23 22:08:54 +11:00
Ted Liang
c5032d0c43
refactor: extract image-helpers (#2261) 2025-12-09 09:19:49 +11:00
David Nguyen
b51f562224
feat: add empty emails for envelopes (#2267) 2025-12-06 13:38:10 +11:00
Ted Liang
89d6dd5b0e
fix: embed authoring permission issue (#2279) 2025-12-04 15:02:50 +11:00
Lucas Smith
7a94ee3b83
feat: add ai detection for recipients and fields (#2271)
Use Gemini to handle detection of recipients and fields within
documents.

Opt in using organisation or team settings.

Replaces #2128 since the branch was cursed and would include
dependencies that weren't even in the lock file.



https://github.com/user-attachments/assets/e6cbb58f-62b9-4079-a9ae-7af5c4f2e4ec
2025-12-03 23:39:41 +11:00
Lucas Smith
d2176627ca
chore: dependency updates (#2229) 2025-11-22 20:28:20 +11:00
Lucas Smith
0663605ffd
fix: handle loading files in embedded authoring update flows (#2218) 2025-11-20 15:07:41 +11:00
David Nguyen
805982f3e8
fix: envelope cc issues (#2158) 2025-11-10 11:42:57 +11:00
David Nguyen
e2f5e570cf
fix: envelope direct template (#2156) 2025-11-09 22:23:13 +11:00
David Nguyen
88371b665a
fix: set correct envelope item cache url (#2144) 2025-11-07 16:50:58 +11:00
Lucas Smith
7f19ec1265 fix: embedded direct template recipient auth 2025-11-07 14:23:46 +11:00
David Nguyen
d05bfa9fed
feat: add envelopes api (#2105) 2025-11-07 14:17:52 +11:00
David Nguyen
5cdd7f8623
fix: envelope styling (#2102) 2025-10-27 16:11:10 +11:00
David Nguyen
03eb6af69a
feat: polish envelopes (#2090)
## Description

The rest of the owl
2025-10-24 16:22:06 +11:00
David Nguyen
7f09ba72f4
feat: add envelopes (#2025)
This PR is handles the changes required to support envelopes. The new
envelope editor/signing page will be hidden during release.

The core changes here is to migrate the documents and templates model to
a centralized envelopes model.

Even though Documents and Templates are removed, from the user
perspective they will still exist as we remap envelopes to documents and
templates.
2025-10-14 21:56:36 +11:00
Lucas Smith
995bc9c362
feat: support 2fa for document completion (#2063)
Adds support for 2FA when completing a document, also adds support for
using email for 2FA when no authenticator has been associated with the
account.
2025-10-06 16:17:54 +11:00
David Nguyen
9ac7b94d9a
feat: add organisation sso portal (#1946)
Allow organisations to manage an SSO OIDC compliant portal. This method
is intended to streamline the onboarding process and paves the way to
allow organisations to manage their members in a more strict way.
2025-09-09 17:14:07 +10:00
David Nguyen
d7e5a9eec7
fix: refactor document router (#1990) 2025-08-25 08:23:12 +10:00
David Nguyen
b844e166a9 fix: build 2025-08-11 12:16:34 +10:00
David Nguyen
c37e10faab
fix: add document page access logging (#1947)
Add logging when someone accesses a document page
2025-08-11 11:50:32 +10:00
Konrad
e547b0b410
fix: add special context to strings (#1954) 2025-08-11 11:47:21 +10:00
Catalin Pit
d1eb14ac16
feat: include audit trail log in the completed doc (#1916)
This change allows users to include the audit trail log in the completed
documents; similar to the signing certificate.


https://github.com/user-attachments/assets/d9ae236a-2584-4ad6-b7bc-27b3eb8c74d3

It also solves the issue with the text cutoff.
2025-08-07 11:44:59 +10:00
David Nguyen
3409aae411
feat: add email domains (#1895)
Implemented Email Domains which allows Platform/Enterprise customers to
send emails to recipients using their custom emails.
2025-07-24 16:05:00 +10:00
David Nguyen
7487399123
feat: add more api logs (#1870)
Adds more detailed API logging using Pino
2025-06-30 19:46:32 +10:00
David Nguyen
0cc729e9bd
feat: add sequential document view logs (#1871)
## Description

Add a new document audit log to detect when the document is viewed. This
should only be visible in the document audit log page

Notes:
1. I wanted to reuse the `DOCUMENT_OPENED` event and add an additional
paramter to track sequential views, but it's not query-able
2. This will log "DOCUMENT_VIEWED" before "DOCUMENT_OPENED" but i don't
think it matters
2025-06-30 19:11:16 +10:00
David Nguyen
e07a497b69
feat: api logging by pino (#1865)
experiemental
2025-06-27 21:44:51 +10:00
David Nguyen
e6dc237ad2
feat: add organisations (#1820) 2025-06-10 11:49:52 +10:00
Lucas Smith
55c8632620
feat: password reauthentication for documents and recipients (#1827)
Adds password reauthentication to our existing reauth providers,
additionally swaps from an exclusive provider to an inclusive type where
multiple methods can be selected to offer a this or that experience.
2025-06-07 00:27:19 +10:00
Catalin Pit
17370749b4
feat: add folders (#1711) 2025-05-02 02:46:59 +10:00
David Nguyen
063fd32f18 feat: add signature configurations (#1710)
Add ability to enable or disable allowed signature types:
- Drawn
- Typed
- Uploaded

**Tabbed style signature dialog**

![image](https://github.com/user-attachments/assets/a816fab6-b071-42a5-bb5c-6d4a2572431e)

**Document settings**

![image](https://github.com/user-attachments/assets/f0c1bff1-6be1-4c87-b384-1666fa25d7a6)

**Team preferences**

![image](https://github.com/user-attachments/assets/8767b05e-1463-4087-8672-f3f43d8b0f2c)

- Add multiselect to select allowed signatures in document and templates
settings tab
- Add multiselect to select allowed signatures in teams preferences
- Removed "Enable typed signatures" from document/template edit page
- Refactored signature pad to use tabs instead of an all in one
signature pad

Added E2E tests to check settings are applied correctly for documents
and templates
2025-03-24 17:13:11 +11:00
Lucas Smith
63a4bab0fe
feat: better document rejection (#1702)
Improves the existing document rejection process by actually marking a
document as completed cancelling further actions.

## Related Issue

N/A

## Changes Made

- Added a new rejection status for documents
- Updated a million areas that check for document completion
- Updated email sending, so rejection is confirmed for the rejecting
recipient while other recipients are notified that the document is now
cancelled.

## Testing Performed

- Ran the testing suite to ensure there are no regressions.
- Performed manual testing of current core flows.
2025-03-13 15:08:57 +11:00
David Nguyen
5ce2bae39d fix: resolve internal pdf translations 2025-02-19 14:43:35 +11:00
David Nguyen
dd602a7e1c fix: themes 2025-02-18 15:17:13 +11:00