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 completed

View on GitHub (pinned to 004a22c1c8)

Solutions

  1. Restore (unarchive) the account if the document must become reachable again.
  2. Accept the denial as designed and export needed documents before archiving accounts.
  3. 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

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.