compliance: add unauthenticated /source route (AGPLv3 sec 13), bundle CHANGES.md

This commit is contained in:
2026-08-18 16:08:56 -04:00
parent 9d1077b8e4
commit 2a1ed424a9
4 changed files with 85 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
# Changes from upstream (DiD, LLC)
This is a branding patch layer on top of docusealco/docuseal, maintained
as a separate `did-branding` branch so it can be rebased against future
upstream releases without editing upstream files directly. Base license
is unchanged: AGPLv3, including the original DocuSeal attribution
requirement in `LICENSE_ADDITIONAL_TERMS`.
## did-branding branch
- `tailwind.config.js`, `tailwind.dynamic.config.js`: replaced the default
daisyui theme's color palette with DiD's brand palette (Deep Navy
#022647, Lime Green #9BC73C, Light Blue #75B9FC, Soft Grey #CCD6D0),
and added a `heading` font family slot.
- `app/views/layouts/_head_tags.html.erb`: added Google Fonts links for
Monda and Montserrat.
- `app/javascript/application.scss`, `app/javascript/form.scss`: applied
the Monda/Montserrat heading font to h1-h6.
- `app/views/shared/_logo.html.erb`: recolored the DocuSeal logo mark
from its default orange (#e97a42) to DiD's lime green (#9BC73C). The
logo shape and "DocuSeal" text attribution are unchanged, per
`LICENSE_ADDITIONAL_TERMS`.
- `config/routes.rb`, `app/controllers/source_controller.rb`,
`app/views/source/index.html.erb`: added an unauthenticated `/source`
route publishing this instance's corresponding source (AGPLv3 §13),
this CHANGES.md, and the bundled LICENSE / LICENSE_ADDITIONAL_TERMS text.
No application logic, data handling, or upstream file content was
otherwise modified.
+23
View File
@@ -0,0 +1,23 @@
# frozen_string_literal: true
# AGPLv3 Section 13 (network use) compliance: this route stays reachable
# without sign-in or setup, unauthenticated, so the corresponding source
# is available before any user interacts with the deployed instance.
class SourceController < ApplicationController
skip_before_action :authenticate_user!, raise: false
skip_before_action :maybe_redirect_to_setup, raise: false
skip_authorization_check
layout 'plain'
SOURCE_REPO_URL = ENV.fetch('DID_SOURCE_REPO_URL', 'https://repo.diditvi.com/didadmin/docuseal')
SOURCE_COMMIT = ENV.fetch('DID_SOURCE_COMMIT', 'unknown')
def index
@source_repo_url = SOURCE_REPO_URL
@source_commit = SOURCE_COMMIT
@license = File.read(Rails.root.join('LICENSE'))
@additional_terms = File.read(Rails.root.join('LICENSE_ADDITIONAL_TERMS'))
@changes = File.read(Rails.root.join('CHANGES.md'))
end
end
+31
View File
@@ -0,0 +1,31 @@
<div class="max-w-3xl mx-auto p-8 space-y-8">
<div>
<h1 class="text-3xl font-bold mb-2">Source Code</h1>
<p>
This is a DiD-branded build of
<a href="https://github.com/docusealco/docuseal" class="link" target="_blank" rel="noopener">DocuSeal</a>,
licensed under the GNU Affero General Public License v3 (AGPLv3).
In accordance with AGPLv3 Section 13, the complete corresponding source
for this exact running instance is published here:
</p>
<p class="mt-2">
<a href="<%= @source_repo_url %>" class="link link-primary text-lg" target="_blank" rel="noopener"><%= @source_repo_url %></a>
</p>
<p class="text-sm opacity-70 mt-1">Running commit: <code><%= @source_commit %></code></p>
</div>
<div>
<h2 class="text-xl font-bold mb-2">Changes from upstream</h2>
<pre class="whitespace-pre-wrap text-sm bg-base-200 rounded-lg p-4"><%= @changes %></pre>
</div>
<div>
<h2 class="text-xl font-bold mb-2">License (AGPLv3)</h2>
<pre class="whitespace-pre-wrap text-xs bg-base-200 rounded-lg p-4 max-h-96 overflow-y-auto"><%= @license %></pre>
</div>
<div>
<h2 class="text-xl font-bold mb-2">Additional Terms</h2>
<pre class="whitespace-pre-wrap text-sm bg-base-200 rounded-lg p-4"><%= @additional_terms %></pre>
</div>
</div>
+2
View File
@@ -11,6 +11,8 @@ Rails.application.routes.draw do
root 'dashboard#index' root 'dashboard#index'
get '/source', to: 'source#index'
get 'up' => 'rails/health#show' get 'up' => 'rails/health#show'
get 'manifest' => 'pwa#manifest' get 'manifest' => 'pwa#manifest'