diff --git a/app/controllers/account_configs_controller.rb b/app/controllers/account_configs_controller.rb
index b5b28982..bb8399db 100644
--- a/app/controllers/account_configs_controller.rb
+++ b/app/controllers/account_configs_controller.rb
@@ -11,7 +11,8 @@ class AccountConfigsController < ApplicationController
     AccountConfig::ESIGNING_PREFERENCE_KEY,
     AccountConfig::FORM_WITH_CONFETTI_KEY,
     AccountConfig::DOWNLOAD_LINKS_AUTH_KEY,
-    AccountConfig::FORCE_SSO_AUTH_KEY
+    AccountConfig::FORCE_SSO_AUTH_KEY,
+    AccountConfig::FLATTEN_RESULT_PDF_KEY
   ].freeze
 
   InvalidKey = Class.new(StandardError)
diff --git a/app/models/account_config.rb b/app/models/account_config.rb
index e1018566..cd4320ef 100644
--- a/app/models/account_config.rb
+++ b/app/models/account_config.rb
@@ -36,6 +36,7 @@ class AccountConfig < ApplicationRecord
   WEBHOOK_PREFERENCES_KEY = 'webhook_preferences'
   DOWNLOAD_LINKS_AUTH_KEY = 'download_links_auth'
   FORCE_SSO_AUTH_KEY = 'force_sso_auth'
+  FLATTEN_RESULT_PDF_KEY = 'flatten_result_pdf'
 
   DEFAULT_VALUES = {
     SUBMITTER_INVITATION_EMAIL_KEY => {
diff --git a/app/views/esign_settings/show.html.erb b/app/views/esign_settings/show.html.erb
index 2f2a4171..054f0b1e 100644
--- a/app/views/esign_settings/show.html.erb
+++ b/app/views/esign_settings/show.html.erb
@@ -140,6 +140,18 @@
             
           <% end %>
         <% end %>
+        <% account_config = AccountConfig.find_or_initialize_by(account: current_account, key: AccountConfig::FLATTEN_RESULT_PDF_KEY) %>
+        <% if can?(:manage, account_config) %>
+          <%= form_for account_config, url: account_configs_path, method: :post do |f| %>
+            <%= f.hidden_field :key %>
+            
+              
+                Remove PDF form fillable fields from the signed PDF (flatten form)
+              
+              <%= f.check_box :value, { class: 'toggle', checked: account_config.value != false, onchange: 'this.form.requestSubmit()' } %>
+            
+          <% end %>
+        <% end %>
       
     <% end %>
   
diff --git a/lib/submissions/generate_result_attachments.rb b/lib/submissions/generate_result_attachments.rb
index 7ea37a26..7d4e060c 100644
--- a/lib/submissions/generate_result_attachments.rb
+++ b/lib/submissions/generate_result_attachments.rb
@@ -44,12 +44,16 @@ module Submissions
 
       template = submitter.submission.template
 
+      is_flatten =
+        submitter.account.account_configs
+                 .find_or_initialize_by(key: AccountConfig::FLATTEN_RESULT_PDF_KEY).value != false
+
       account = submitter.account
       pkcs = Accounts.load_signing_pkcs(account)
       tsa_url = Accounts.load_timeserver_url(account)
       attachments_data_cache = {}
 
-      pdfs_index = build_pdfs_index(submitter)
+      pdfs_index = build_pdfs_index(submitter, flatten: is_flatten)
 
       submitter.submission.template_fields.each do |field|
         next if field['submitter_uuid'] != submitter.uuid
@@ -86,10 +90,12 @@ module Submissions
 
           next if Array.wrap(value).compact_blank.blank?
 
-          begin
-            page.flatten_annotations
-          rescue StandardError => e
-            Rollbar.error(e) if defined?(Rollbar)
+          if is_flatten
+            begin
+              page.flatten_annotations
+            rescue StandardError => e
+              Rollbar.error(e) if defined?(Rollbar)
+            end
           end
 
           canvas = page.canvas(type: :overlay)
@@ -335,7 +341,7 @@ module Submissions
       Digest::UUID.uuid_v5(Digest::UUID::OID_NAMESPACE, attachments.map(&:uuid).sort.join(':'))
     end
 
-    def build_pdfs_index(submitter)
+    def build_pdfs_index(submitter, flatten: true)
       latest_submitter = find_last_submitter(submitter)
 
       Submissions::EnsureResultGenerated.call(latest_submitter) if latest_submitter
@@ -353,10 +359,12 @@ module Submissions
 
         pdf = maybe_rotate_pdf(pdf)
 
-        begin
-          pdf.acro_form&.flatten
-        rescue StandardError => e
-          Rollbar.error(e) if defined?(Rollbar)
+        if flatten
+          begin
+            pdf.acro_form&.flatten
+          rescue StandardError => e
+            Rollbar.error(e) if defined?(Rollbar)
+          end
         end
 
         pdf.config['font.on_missing_glyph'] = method(:on_missing_glyph).to_proc