- Shipped
- November 14, 2026 at 9:13 PM UTC
- Author
- Kamo
- Commit
- 4533d54
- Template signer slots carry a role (Borrower, Co-Borrower n, Loan Officer, Lender, Customer) and "only when there is one"; validated on save. - Envelopes bind signers by role first; strictRoles refuses an unfilled required role or a role with no slot before any row or invite. - mergeValues fills "Fill From" fields (design field `merge`): stored on the envelope, shown read-only (bound), a submit changing one is refused (422), and the flattener draws them from the envelope. - Each envelope pins the exact stored PDF it was sent with (img_dat id + content-address sha); a later edit or a replaced file never changes what is signed. - POST /api/esig/templates/summary: a document collection's agreements with role coverage and field counts. - EsignLegalPackageNotifier generalized to EsignCompletionNotifier: EMPLOYMENT_OFFER -> DocsService; DISCLOSURE, LOAN_AGREEMENT, SUBSCRIPTION_AGREEMENT, ACCOUNT_AGREEMENT -> SecurityService; on signature and on decoder.
