docusealco/docuseal · warning · ActionController::RoutingError
Not found
Error message
Not found
What it means
SubmissionsPreviewController#show raises 404 when the submission's account is archived (archived_at set) - an intentionally flat denial that applies regardless of authentication or signature validity. Archived accounts' documents are hidden entirely, and the 404 avoids confirming anything exists. The submission was found by slug first, so the slug is right; the account is gone.
Source
Thrown at app/controllers/submissions_preview_controller.rb:26
prepend_before_action :maybe_redirect_com, only: %i[show completed]
TTL = 40.minutes
def show
@sig_submitter = Submitter.find_signed(params[:sig], purpose: :download_completed) if params[:sig].present?
signature_valid =
if @sig_submitter && @sig_submitter.submission.slug == params[:slug]
@submission = @sig_submitter.submission
true
else
@sig_submitter = nil
end
@submission ||= Submission.find_by!(slug: params[:slug])
raise ActionController::RoutingError, I18n.t('not_found') if @submission.account.archived_at?
if !@submission.completed_at? && !signature_valid &&
(!current_user || !current_ability.can?(:read, @submission))
raise ActionController::RoutingError, I18n.t('not_found')
end
if use_signature?(@submission) && !signature_valid
Rollbar.info("TTL: #{@submission.id}") if defined?(Rollbar)
return redirect_to submissions_preview_completed_path(@submission.slug)
end
@submission = Submissions.preload_with_pages(@submission)
render 'submissions/show', layout: 'plain', locals: { is_preview: true }
end
def completedView on GitHub (pinned to 004a22c1c8)
Solutions
- Restore (unarchive) the account if the document must become reachable again.
- Accept the denial as designed and export needed documents before archiving accounts.
- Verify you are not mixing up environments - the same slug may exist elsewhere.
Defensive patterns
Strategy: validation
Validate before calling
# before showing or exporting links, gate on account state return head :gone if submission.account.archived_at?
Prevention
- Export documents before archiving accounts
- Purge or notify on external links when archiving
- Monitor 404 spikes to detect archived-account link rot
When it happens
Trigger: Requesting the preview page of any submission whose account has archived_at set - direct link, old bookmark, or indexed URL.
Common situations: Cancelled subscriptions or deleted tenants; compliance-driven archival; old document links resurfacing months later.
Related errors
AI-assisted analysis of docusealco/docuseal@004a22c1c8 (2026-08-21).
Data as JSON: /api/errors/67129aaee939cc79.
Report an issue: GitHub.