Repository Analysis

docusealco/docuseal

Open source DocuSign alternative. Create, fill, and sign digital documents ✍️

1.9 Likely human-written View on GitHub
1.9
Adjusted Score
1.9
Raw Score
100%
Time Factor
2026-05-25
Last Push
17,021
Stars
Ruby
Language
131,785
Lines of Code
626
Files
228
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 2HIGH 0MEDIUM 2LOW 224

Pattern Findings

228 matches across 6 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers85 hits · 85 pts
SeverityFileLineSnippet
LOWapp/mailers/submitter_mailer.rb225 def build_submitter_preferences_index(submitter)
LOWapp/mailers/submitter_mailer.rb229 def add_attachments_with_size_limit(submitter, storage_attachments, current_size, filename_format = nil)
LOWapp/mailers/submitter_mailer.rb244 def from_address_for_submitter(submitter)
LOW…avascript/template_builder/dynamic_variables_schema.js278function parseComparisonOrPresence (tokens, pos) {
LOW…avascript/template_builder/dynamic_variables_schema.js325function extractConditionVariables (node, acc = []) {
LOW…avascript/template_builder/dynamic_variables_schema.js462function assignNestedSchemaWithPriority (propertiesHash, parentProperties, keyString, newType) {
LOW…avascript/template_builder/dynamic_variables_schema.js491function processConditionVariables (condition, propertiesHash, parentProperties) {
LOWapp/jobs/process_submitter_completion_job.rb80 def enqueue_completed_webhooks(submitter, is_all_completed: false)
LOWapp/jobs/process_submitter_completion_job.rb131 def maybe_enqueue_copy_emails(submitter)
LOWapp/jobs/process_submitter_completion_job.rb160 def enqueue_next_submitter_request_notification(submitter)
LOWapp/controllers/start_form_controller.rb91 def enqueue_new_submitter_jobs(submitter)
LOWapp/controllers/start_form_controller.rb119 def find_or_initialize_submitter(template, submitter_params)
LOWapp/controllers/start_form_controller.rb150 def assign_submission_attributes(submitter, template)
LOWapp/controllers/start_form_controller.rb182 def filter_undefined_submitters(template)
LOWapp/controllers/templates_clone_controller.rb49 def maybe_redirect_to_template(template)
LOWapp/controllers/passwords_controller.rb28 def after_resetting_password_path_for(_)
LOWapp/controllers/preview_document_page_controller.rb43 def find_or_create_document_tempfile_path(attachment)
LOWapp/controllers/api/attachments_controller.rb59 def build_new_cookie_signatures_json(submitter, attachment)
LOWapp/controllers/api/submitters_controller.rb107 def maybe_filder_by_completed_at(submitters, params)
LOWapp/controllers/api/submitters_controller.rb150 def maybe_assign_completed_attributes(submitter, attrs)
LOWapp/controllers/api/submission_documents_controller.rb32 def build_completed_documents(submission, merge: false)
LOWapp/controllers/api/api_base_controller.rb42 def access_denied_error_message(error)
LOWlib/pdfium.rb898 def calculate_render_dimensions(width_param, height_param, scale_param)
LOWlib/email_messages.rb6 def find_or_create_for_account_user(account, user, subject, body)
LOWlib/submissions.rb189 def filtered_conditions_schema(submission, values: nil, include_submitter_uuid: nil)
LOWlib/submissions.rb201 def filtered_conditions_fields(submitter, only_submitter_fields: true)
LOWlib/templates.rb74 def filter_undefined_submitters(template_submitters)
LOWlib/submission_events.rb14 def create_with_tracking_data(submitter, event_type, request, data = {})
LOWlib/template_versions.rb60 def serialize_dynamic_documents(template, dynamic_docs)
LOWlib/search_entries.rb115 def build_weights_wildcard_tsquery(keyword, weight)
LOWlib/search_entries.rb175 def build_submitter_values_string(submitter)
LOWlib/replace_email_variables.rb91 def build_documents_links_text(submitter, sig = nil)
LOWlib/replace_email_variables.rb176 def build_submission_submitters(submission)
LOWlib/account_configs.rb25 def find_or_initialize_for_key(account, key)
LOWlib/load_bmp.rb144 def extract_raw_pixel_data_blob(bmp_bytes, pixel_data_offset, bmp_stride, height)
LOWlib/load_bmp.rb167 def prepare_unpadded_pixel_data_string(raw_pixel_data_from_file, bpp, width, height, bmp_stride)
LOWlib/load_bmp.rb194 def decode_indexed_pixel_data(raw_data, bpp, width, height, bmp_stride, color_table)
LOWlib/accounts.rb47 def find_or_create_testing_user(account)
LOWlib/accounts.rb71 def generate_unique_test_email(original_email)
LOWlib/accounts.rb104 def load_recipient_form_fields(_account)
LOWlib/document_metadatas.rb6 def find_or_create_for_document(document, account_id:)
LOWlib/submitters.rb107 def select_attachments_for_download(submitter)
LOWlib/submitters.rb229 def send_shared_link_email_verification_code(submitter, request:)
LOWlib/submitters/maybe_update_default_values.rb30 def get_default_value_for_field(field, user, submitter)
LOWlib/submitters/submit_values.rb70 def assign_completed_attributes(submitter, request, validate_required: true)
LOWlib/submitters/submit_values.rb249 def replace_current_date_placeholders(submitter)
LOWlib/submitters/submit_values.rb262 def template_default_value_for_submitter(value, submitter, with_time: false, field: nil)
LOWlib/submitters/submit_values.rb275 def maybe_remove_condition_values(submitter, required_field_uuids_acc: nil)
LOWlib/submitters/submit_values.rb322 def check_field_areas_attachments(field, attachments_index)
LOWlib/submitters/submit_values.rb409 def replace_default_variables(value, attrs, submission, with_time: false, field: nil)
LOWlib/submitters/normalize_values.rb182 def normalize_attachment_value(value, field, account, attachments, for_submitter: nil, purpose: nil)
LOWlib/submitters/normalize_values.rb235 def find_or_create_blob_from_html(_account, value, _field)
LOWlib/submitters/normalize_values.rb262 def find_or_create_blob_from_text(account, text, type)
LOWlib/submitters/normalize_values.rb275 def find_or_create_blob_from_url(account, url)
LOWlib/params/submission_create_validator.rb20 def validate_creation_from_emails(params)
LOWlib/params/submission_create_validator.rb37 def validate_creation_from_submitters(params)
LOWlib/params/submission_create_validator.rb107 def validate_creation_from_submission(params)
LOWlib/submissions/generate_preview_attachments.rb127 def build_submitter_values_hash(submitter)
LOWlib/submissions/create_from_submitters.rb103 def maybe_set_dynamic_documents(submission)
LOWlib/submissions/create_from_submitters.rb151 def maybe_add_invite_submitters(submission, template, submitter_attrs)
25 more matches not shown…
Fake / Example Data86 hits · 84 pts
SeverityFileLineSnippet
LOWspec/system/signing_form_spec.rb171 fill_in 'Name', with: 'John Doe'
LOWspec/system/signing_form_spec.rb231 expect(submitter.name).to eq('John Doe')
LOWspec/system/signing_form_spec.rb262 fill_in 'Name', with: 'John Doe'
LOWspec/system/signing_form_spec.rb319 expect(submitter.name).to eq('John Doe')
LOWspec/system/signing_form_spec.rb617 fill_in 'signature_text_input', with: 'John Doe'
LOWspec/system/signing_form_spec.rb740 fill_in 'initials_text_input', with: 'John Doe'
LOWspec/system/signing_form_spec.rb960 fill_in 'Full Name (optional)', with: 'John Doe'
LOWspec/system/signing_form_spec.rb977 expect(field_value(submitter, 'Full Name')).to eq 'John Doe'
LOWspec/system/signing_form_spec.rb985 fill_in 'Full Name (optional)', with: 'John Doe'
LOWspec/system/signing_form_spec.rb1002 expect(field_value(submitter, 'Full Name')).to eq 'John Doe'
LOWspec/system/signing_form_spec.rb1011 fill_in 'Full Name (optional)', with: 'Jane Doe'
LOWspec/system/signing_form_spec.rb1025 expect(field_value(submitter, 'Full Name')).to eq 'Jane Doe'
LOWspec/system/signing_form_spec.rb1296 fill_in 'First Name', with: 'John Doe'
LOWspec/system/signing_form_spec.rb1307 fill_in 'First Name', with: 'John Doe'
LOWspec/system/signing_form_spec.rb1317 expect(field_value(submitter, 'First Name')).to eq 'John Doe'
LOWspec/system/email_settings_spec.rb17 fill_in 'Username', with: 'user@example.com'
LOWspec/system/email_settings_spec.rb20 fill_in 'Send from Email', with: 'user@example.com'
LOWspec/system/email_settings_spec.rb32 expect(encrypted_config.value['username']).to eq('user@example.com')
LOWspec/system/email_settings_spec.rb37 expect(encrypted_config.value['from_email']).to eq('user@example.com')
LOWdocs/openapi.json1623 "name": "John Doe",
LOWdocs/openapi.json2259 "value": "John Doe"
LOWdocs/openapi.json2746 "name": "John Doe",
LOWdocs/openapi.json2754 "value": "John Doe"
LOWdocs/openapi.json3199 "value": "John Doe"
LOWdocs/openapi.json4213 "value": "John Doe"
LOWdocs/openapi.json5126 "value": "John Doe"
LOWdocs/openapi.json5267 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n ro
LOWdocs/openapi.json6054 "value": "John Doe"
LOWdocs/openapi.json6412 "name": "John Doe",
LOWdocs/openapi.json6436 "value": "John Doe"
LOWdocs/openapi.json6964 "name": "John Doe",
LOWdocs/openapi.json6973 "value": "John Doe"
LOWdocs/openapi.json7374 "name": "John Doe",
LOWdocs/openapi.json7398 "value": "John Doe"
LOWdocs/openapi.json8399 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"F
LOWdocs/openapi.json8459 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n ro
LOWdocs/api/go.md1769 payload := strings.NewReader("{\"name\":\"Test Submission Document\",\"documents\":[{\"name\":\"Test Document\",\"html\
LOWdocs/api/go.md1877 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"F
LOWdocs/api/go.md3767 payload := strings.NewReader("{\"html\":\"<p>Lorem Ipsum is simply dummy text of the\\n<text-field\\n name=\\\"Industr
LOWdocs/api/go.md3811 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"First P
LOWdocs/api/go.md3871 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"F
LOWdocs/api/python.md1694 "html": """<p>Lorem Ipsum is simply dummy text of the
LOWdocs/api/python.md1804 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"F
LOWdocs/api/python.md3561 "html": """<p>Lorem Ipsum is simply dummy text of the
LOWdocs/api/python.md3600 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"First P
LOWdocs/api/python.md3660 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"F
LOWdocs/api/csharp.md1628request.AddParameter("application/json", "{\"name\":\"Test Submission Document\",\"documents\":[{\"name\":\"Test Documen
LOWdocs/api/csharp.md1722 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"F
LOWdocs/api/csharp.md3429request.AddParameter("application/json", "{\"html\":\"<p>Lorem Ipsum is simply dummy text of the\\n<text-field\\n name=
LOWdocs/api/csharp.md3459 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"First P
LOWdocs/api/csharp.md3519 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"F
LOWdocs/api/php.md1673 'html' => '<p>Lorem Ipsum is simply dummy text of the
LOWdocs/api/php.md1783 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"F
LOWdocs/api/php.md3513 'html' => '<p>Lorem Ipsum is simply dummy text of the
LOWdocs/api/php.md3552 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"First P
LOWdocs/api/php.md3612 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"F
LOWdocs/api/javascript.md1687 html: `<p>Lorem Ipsum is simply dummy text of the
LOWdocs/api/javascript.md1797 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"F
LOWdocs/api/javascript.md3545 html: `<p>Lorem Ipsum is simply dummy text of the
LOWdocs/api/javascript.md3584 "example": "<p>Lorem Ipsum is simply dummy text of the\n<text-field\n name=\"Industry\"\n role=\"First P
26 more matches not shown…
Over-Commented Block52 hits · 52 pts
SeverityFileLineSnippet
LOWapp/models/submission_event.rb1# frozen_string_literal: true
LOWapp/models/account_linked_account.rb1# frozen_string_literal: true
LOWapp/models/email_message.rb1# frozen_string_literal: true
LOWapp/models/account.rb1# frozen_string_literal: true
LOWapp/models/submitter.rb1# frozen_string_literal: true
LOWapp/models/submitter.rb21# uuid :string not null
LOWapp/models/search_entry.rb1# frozen_string_literal: true
LOWapp/models/lock_event.rb1# frozen_string_literal: true
LOWapp/models/dynamic_document_version.rb1# frozen_string_literal: true
LOWapp/models/encrypted_user_config.rb1# frozen_string_literal: true
LOWapp/models/webhook_url.rb1# frozen_string_literal: true
LOWapp/models/email_event.rb1# frozen_string_literal: true
LOWapp/models/template_folder.rb1# frozen_string_literal: true
LOWapp/models/template.rb1# frozen_string_literal: true
LOWapp/models/template.rb21# author_id :bigint not null
LOWapp/models/webhook_event.rb1# frozen_string_literal: true
LOWapp/models/template_version.rb1# frozen_string_literal: true
LOWapp/models/template_sharing.rb1# frozen_string_literal: true
LOWapp/models/user_config.rb1# frozen_string_literal: true
LOWapp/models/document_generation_event.rb1# frozen_string_literal: true
LOWapp/models/template_access.rb1# frozen_string_literal: true
LOWapp/models/mcp_token.rb1# frozen_string_literal: true
LOWapp/models/submitter_version.rb1# frozen_string_literal: true
LOWapp/models/account_config.rb1# frozen_string_literal: true
LOWapp/models/encrypted_config.rb1# frozen_string_literal: true
LOWapp/models/dynamic_document.rb1# frozen_string_literal: true
LOWapp/models/submission.rb1# frozen_string_literal: true
LOWapp/models/submission.rb21# updated_at :datetime not null
LOWapp/models/webhook_attempt.rb1# frozen_string_literal: true
LOWapp/models/completed_document.rb1# frozen_string_literal: true
LOWapp/models/account_access.rb1# frozen_string_literal: true
LOWapp/models/completed_submitter.rb1# frozen_string_literal: true
LOWapp/models/document_metadata.rb1# frozen_string_literal: true
LOWapp/models/user.rb1# frozen_string_literal: true
LOWapp/models/user.rb21# last_sign_in_ip :string
LOWapp/models/access_token.rb1# frozen_string_literal: true
LOWconfig/initializers/devise.rb41 end
LOWconfig/initializers/devise.rb61 # Configure the parent class responsible to send e-mails.
LOWconfig/initializers/devise.rb81 # given should be a request method and it will automatically be passed to the
LOWconfig/initializers/devise.rb101 # config.params_authenticatable = true
LOWconfig/initializers/devise.rb121 # Does not affect registerable.
LOWconfig/initializers/devise.rb141 config.reload_routes = false
LOWconfig/initializers/devise.rb161 # Send a notification email when the user's password is changed.
LOWconfig/initializers/devise.rb181 # config.confirm_within = 3.days
LOWconfig/initializers/devise.rb201
LOWconfig/initializers/devise.rb221 # Defines which strategy will be used to lock an account.
LOWconfig/initializers/devise.rb241 # config.unlock_in = 1.hour
LOWconfig/initializers/devise.rb261 # Allow you to use another hashing or encryption algorithm besides bcrypt (default).
LOWconfig/initializers/devise.rb281 # only the current scope. By default, Devise signs out all scopes.
LOWconfig/initializers/devise.rb301 #
LOWconfig/initializers/devise.rb321
LOWdb/schema.rb1# This file is auto-generated from the current state of the database. Instead
Hallucination Indicators2 hits · 20 pts
SeverityFileLineSnippet
CRITICALapp/javascript/template_builder/dynamic_area.vue274 const tr = this.editor.view.state.tr.setNodeMarkup(pos, undefined, {
CRITICALapp/javascript/template_builder/dynamic_area.vue275 ...this.editor.view.state.doc.nodeAt(pos)?.attrs,
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippet
MEDIUMdb/schema.rb1# This file is auto-generated from the current state of the database. Instead
MEDIUMdb/schema.rb5# This file is the source Rails uses to define your schema when running `bin/rails
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippet
LOWconfig/environments/production.rb77 # Set this to true and configure the email server for immediate delivery to raise delivery errors.