# Giver modifications — 11 October 2026

This source tree is a modified distribution of Documenso v2.20.0, based on upstream commit `38ecb217effcc53a7164d7123c51336f636bd3b2`.

Original Documenso copyright: Copyright (c) 2023 Documenso, Inc. Giver branding modifications: Copyright (c) 2026 Giver. Existing original notices, dependency licenses and the full upstream LICENSE remain in this tree.

The Giver modifications to the AGPL application are provided under GNU Affero General Public License, version 3, subject to the upstream license scope. There is no additional proprietary restriction on these modifications. No warranty is provided to the extent allowed by applicable law. See LICENSE for the complete terms and rights.

Changes: Giver wordmark and compact icon; application titles and native translated product mentions; mobile menu and public profile branding; Giver metadata and manifest; Giver email branding; a public attribution and corresponding-source page, linked from dashboard, mobile menu, sign-in and emails. Technical package names, routes, authorization, licensing checks, paid-feature entitlements, migrations, signing logic and existing documents remain unchanged.

IMPORTANT: packages/ee contains separately commercially licensed code. Its original LICENSE is preserved and this modification grants no rights to that code beyond its existing terms. Other third-party components retain their respective licenses. The Giver and Documenso marks are not separately licensed by the AGPL. Reuse of the code does not imply permission to impersonate Giver or Documenso.

The corresponding source offer includes this complete application source, npm lockfile, original Dockerfile, build scripts and this notice. The deployment wrapper and a credential-free configuration are in giver-local-build/. It excludes credentials, documents, signing keys, logs, database backups and email messages. No private application state is required to build it.

## Build and run

Requirements: Docker with Node 24 Alpine available, sufficient memory, and access to npm and Alpine registries. Use the supplied lockfile, not an unpinned npm install.

From the root of this extracted source tree:

```sh
docker build --progress=plain -f docker/Dockerfile -t giver-documenso-local:v2.20.0-giver-20261011 .
```

The upstream Dockerfile performs pruning, npm ci, Prisma generation, translation compilation, application type checking, React Router/Vite build and the server build. It does not need customer secrets as build arguments. Supply new runtime secrets and a signing certificate according to the upstream self-hosting instructions. The local example configuration in giver-local-build/ is documented separately and deliberately contains placeholders. The build uses the existing native UI and no additional production dependency.

The actual running local deployment is still a test environment, not a qualified signature service or a production/commercial licensing approval. Original version and license information are accessible to users at /open-source. Whenever the code changes, regenerate the corresponding source archive to match the deployed revision.

## Modified and added files

- apps/remix/app/components/dialogs/account-delete-dialog.tsx
- apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx
- apps/remix/app/components/dialogs/token-create-dialog.tsx
- apps/remix/app/components/dialogs/webhook-create-dialog.tsx
- apps/remix/app/components/dialogs/webhook-edit-dialog.tsx
- apps/remix/app/components/embed/embed-document-completed.tsx
- apps/remix/app/components/general/app-header.tsx
- apps/remix/app/components/general/app-nav-mobile.tsx
- apps/remix/app/components/general/branding-logo-icon.tsx
- apps/remix/app/components/general/branding-logo.tsx
- apps/remix/app/components/general/document/document-certificate-qr-view.tsx
- apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx
- apps/remix/app/components/general/organisations/organisation-billing-banner.tsx
- apps/remix/app/components/general/public-legal-links.tsx
- apps/remix/app/components/general/settings-upsell/branding-upsell.tsx
- apps/remix/app/components/general/settings-upsell/email-domains-upsell.tsx
- apps/remix/app/components/general/settings-upsell/settings-upsell-card.tsx
- apps/remix/app/root.tsx
- apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx
- apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx
- apps/remix/app/routes/_profile+/_layout.tsx
- apps/remix/app/routes/_profile+/p.$url.tsx
- apps/remix/app/routes/_recipient+/_layout.tsx
- apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx
- apps/remix/app/routes/_share+/share.$slug.tsx
- apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx
- apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx
- apps/remix/app/routes/_unauthenticated+/open-source.tsx
- apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx
- apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx
- apps/remix/app/routes/embed+/auth+/popup.tsx
- apps/remix/app/utils/meta.ts
- apps/remix/public/brand/giver-app-icon.png
- apps/remix/public/brand/giver-icon.svg
- apps/remix/public/site.webmanifest
- giver-local-build/compose.yaml
- giver-local-build/proxy.conf
- giver-local-build/README.md
- GIVER-NOTICE.md
- packages/assets/giver-icon.svg
- packages/assets/giver-logo.svg
- packages/email/template-components/template-admin-user-created.tsx
- packages/email/template-components/template-branding-logo.tsx
- packages/email/template-components/template-confirmation-email.tsx
- packages/email/template-components/template-document-image.tsx
- packages/email/template-components/template-footer.tsx
- packages/email/templates/admin-user-created.tsx
- packages/email/templates/confirm-team-email.tsx
- packages/email/templates/organisation-account-link-confirmation.tsx
- packages/email/templates/organisation-invite.tsx
- packages/email/templates/organisation-join.tsx
- packages/email/templates/organisation-leave.tsx
- packages/email/templates/team-email-removed.tsx
- packages/lib/constants/auth.ts
- packages/lib/constants/email.ts
- packages/lib/jobs/definitions/emails/send-admin-user-created-email.handler.ts
- packages/lib/server-only/2fa/email/generate-2fa-credentials-from-email.ts
- packages/lib/server-only/2fa/setup-2fa.ts
- packages/lib/server-only/auth/send-forgot-password.ts
- packages/lib/server-only/auth/send-reset-password.ts
- packages/lib/server-only/organisation/create-organisation-member-invites.ts
- packages/lib/server-only/team/create-team-email-verification.ts
- packages/lib/server-only/team/delete-team.ts
- packages/lib/translations/de/web.po
- packages/lib/translations/en/web.po
- packages/lib/translations/es/web.po
- packages/lib/translations/fr/web.po
- packages/lib/translations/it/web.po
- packages/lib/translations/ja/web.po
- packages/lib/translations/ko/web.po
- packages/lib/translations/nl/web.po
- packages/lib/translations/pl/web.po
- packages/lib/translations/pt-BR/web.po
- packages/lib/translations/sq/web.po
- packages/lib/translations/zh/web.po
- packages/lib/utils/authenticator.ts
- packages/ui/primitives/document-flow/add-subject.tsx
- packages/ui/primitives/template-flow/add-template-settings.tsx

- .gitattributes (LF endings for Linux build scripts on Windows)
- apps/remix/.bin/build.sh and docker/start.sh (line endings only, native commands unchanged)
