---
title: "Signer Settings"
description: "Reference of Signer settings for on-premises instances, starting with the General section: SiteUrl, EncryptionKey, AutoUpdateDatabase, SupportEmailAddress."
canonical: "https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings"
locale: "en"
product: "Signer"
last_updated: "2026-10-22"
---

# Signer Settings

###  *General* Settings

Under section **General**:

* **SiteUrl**: publicly accessible URL of the website (e.g.: `https://signer.patorum.com/`). This address is used to compose emails with links back to the website.
* **EncryptionKey**: encryption key.
* **EncryptionCertThumb**: encryption key certificate thumbprint.
* **RootPasswordHash**: hash of the root password, computed above.
* **AutoUpdateDatabase**: by default, the application tries to perform model changes to the database after an update (when needed). Set to `false` if the application does not have owner permissions over the database.
* **SupportEmailAddress**: the support email address (used on the footer of outgoing emails).

* **PersonalAccountsEnabled** (deprecated v1.63.0): if `true`, any user that logs/registers in the website may use the application and create documents in his personal account. If `false`, users will only be 
able to use the logged user area if they are added previously in an organization. Please use the [Access Control settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#access-control-settings) instead as this option is now deprecated.
* **AccessRequestEmailAddress** (v1.38.0): the e-mail address to send access requests to (if personal accounts are not enabled). If set, when a user sees the "No access" 
screen, there will be a button that allows him to request access to the system. The e-mail address configure will receive the name and email of the user who requested 
the access.

* **AllowCreateDocumentsByDefault** (default: `true`, v1.12.0): if `true` users will be able to create documents after registering. If `false`, the document creator role must be granted to
each user individually by the system administrator.

* **AllowCreateOrganizationsByDefault** (default: `true`, v1.12.0): if `true` users will be able to create organizations after registering (if personal accounts is enabled).

* **EnableDocumentTypes** (deprecated v1.7.0): if `true` shows a select to determine the type of a document when creating one. The available types are `Deed` and `Power of Attorney`.
Please use the [Document Types settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#document-types-settings) instead as this option is now deprecated.
* **OriginalFileWatermarkText**: Documents of type `Deed`, will have a watermark with this text on the original version until the document is concluded. 

* **EnableElectronicSignature** (deprecated v1.1.0): if `true` displays the option to accept electronic signatures when creating documents. Please use the [Electronic Signature settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#electronic-settings) 
instead as this option is now deprecated.

* **NotifyConclusion** (v1.5.0): if `true` sends an email to all participants of a document when it is concluded.
* **NotifyParticipantsOnAddedVersion** (v1.66.0): if `true` sends an email to all active participants of a document when a new document version is added. If not enabled, only observers will
be notified.
* **NotifyParticipantsOnAttachmentUpdates** (v1.66.0): if `true` sends an email to all active participants of a document when attachments are added or deleted. If not enabled, only observers will
be notified.
* **NotifyParticipantsOnDocumentInformationUpdates** (v1.66.0): if `true` sends an email to all active participants of a document when document information is updated. If not enabled, only observers will
be notified.

* **AreActionsOrderedByDefault** (v1.6.0): if `true`, actions of the document flow will be ordered by default unless overriden by the user during the document creation.
* **FlowActionTicketValidityMinutes**: defines the validity in minutes of the ticket that is sent in the signature reminder email which allows an user to sign without logging in. 
The default value is `1440` (24 hours).

* **RestrictedUserAutocomplete** (default: `true`): if `true` shows in the participant autocomplete suggestions only users that are in the same organizations as the current user and (as of v1.8.0) 
that were added as participants in the current user's documents. 
If `false` the suggestions will search all of the users in the database. This option doesn't affect the autocomplete experience for system administrators. 

* **EnableDocumentAuthentication**: if `true` shows the document authentication option in the fast signature screen. This allows an user to authenticate a document by inserting 
a custom visual representation that has information about his lawyer or accountant registration number.

* **EnableBilling** (deprecated v1.40.0): if `true` enables the billing module. Please use the option in [Billing settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#billing-settings) instead as this option is now deprecated.
* **EnableBillingInformationCheck** (v1.19.0, deprecated v1.40.0): if `true` enables the check that verifies if the billing information has been set whenever a paid transaction is created by a user 
or organization. Please use the option in [Billing settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#billing-settings) instead as this option is now deprecated.

* **UseCustomStaticHomePage**: if `true`, uses the static file index.html from the theme-assets as the home page. After the login, users will always be redirected to the 
`<SiteUrl>/private` as the home page will be static. You may change the redirect URL using the `RedirectUri` setting in the OIDC Config section. 
* **HidePoweredBy** (v1.9.0): if `true`, hides the powered by section that is displayed on the default home page.

* **EnableSignaturePositioning** (default: `true`): if `true`, displays option to pre-select a signer signature position while creating documents.

* **EnableSignatureMarksDownload**: if `true`, enables user to download the signature marks version of a document.
* **EnableSigningTagsDownload** (default: `true`, v1.5.0): if `true`, enables user to download the signing tags of a document.
* **EnablePrinterFriendlyDownload** (default: `true`, v1.5.0): if `true`, enables user to download the printer friendly version of a document.
* **DocumentConcludedNotificationAttachmentType** (default: `PrinterFriendlyVersion`, v1.35.0): defines the document version that is sent as an attachment when the 
document is concluded. Available values are: `Original`, `PrinterFriendlyVersion`, `Signatures`, `OriginalWithMarks`, `SigningTags` and `SignatureMarks`.
* **SendOriginalFileWithPendingActionEmail** (v1.36.0): if `true`, sends the original version of the document as an attachment in pending action notifications.
* **SendPublicAttachmentFilesWithPendingActionEmail** (v1.75.0): if `true` and `SendOriginalFileWithPendingActionEmail` is also `true`, adds document attachments to pending action notifications.
* **SendPublicAttachmentFilesWithDocumentConcludedEmail** (v1.75.0): if `true`, adds document attachments to the document concluded notification.

* **EmailAttachmentSizeLimit**: The maximum file size (in bytes) that can be attached to an email. The default value is `10485760` (10 MB).

* **UserManualUrl**: if set will display (next to the user menu) a button to a PDF that contains the user manual of the application.

* **SetPasswordEmailExpiration**: The expiration of the set password link, in minutes. The default value is `1440` (24 hours).

* **IdentifierType** (default: `Cpf`, v1.7.0, deprecated in v2.11.0): the type of user identifier of this instance. Available options are `Cpf` and `EcuadorBceId`. Please use the [Identifier Scope settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#identifier-scope-settings) instead as this option is now deprecated.
* **FilterCertificatesByIdentifier** (default: `true`, v1.7.0): if `true`, filters certificates by the user's identifier automatically.
* **FilterCertificatesByKeyUsage** (v1.7.0): if `true`, filters certificates that have non repudiation and digital signature attributes.

* **MaximumItemsInBatchNotifications** (default: `10`, v1.10.4): defines a maximum number of items included in notifications that list a 
batch of items (for example all documents a user was added as observer).

* **UngroupedNotificationsDelayInSeconds** (default: `180`, v1.56.0): When multiple notifications need to be sent to a user regarding one or more 
documents (if the recipient type is not e-mail) each notification will be sent with an increasing interval in seconds defined by this setting.

* **NormalizePdfs** (default: `true`, v1.13.0): if `true`, the system automatically attempts to normalize PDFs when they are submitted to create a document to 
prevent protected file and append mode errors.

* **MaxUploadSizeInBytes** (default: `106954752` - 100 MB, v1.15.0): defines the maximum upload size in bytes. There is a 1 GB upper limit that can only be changed by
updating the web.config file in the installation package. Signer applies this value to the Kestrel and IIS request limits. If a reverse proxy runs in front of Signer (for example, nginx), the proxy limit must also accept this size. See [Upload limit](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/limite-de-upload).

* **EnableDeletedDocumentValidation** (v1.18.0): if `true`, the system will validate documents by the validation code even if they were deleted 
by their owners.

* **AllowSetFlowActionEmail** (default: `true`, v1.20.0): if `true`, allows a participant to have a document specific email, that is, if a document is submitted to a user
but the email provided is different from what is registered for that user, the provided email will be the one considered in the notifications of the submitted document(s).
This option has no effect if the username is email.

* **AllowSetFlowActionPhoneNumber** (default: `true`, v1.28.0): if `true`, allows a participant to have a document specific phone number, that is, if a document is 
submitted to a user but the phone number provided is different from what is registered for that user, the provided phone will be the one considered in the notifications 
of the submitted document(s).

* **CountryIdentifierMode** (default: `Unique`, v1.21.0, deprecated in v2.11.0): defines the behaviour of the country identifier. The available types are `Unique`, `NonUnique`, `Nullable` and
`NullableUnique`. Please use the [Identifier Scope settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#identifier-scope-settings) instead as this option is now deprecated.
* **SearchByIdentifierOnlyForUniqueIdentifierMode** (v1.64.0): as of v1.64.0 when searching for a new user, checks the country identifier first if the identifier mode is `Unique` or 
`NullableUnique`. In previous versions this was only done for mode `Unique` (set to `true` to revert to that behavior).
* **FilterCertificatesByEmailIfNoIdentifier** (default: `true`, v1.21.0): if `true`, filters by email the digital certificates of a user who has no identifier.
* **UpdatedUserWithoutIdentifierAfterSignature** (default: `true`, v1.21.0): if `true`, attemps to add an identifier to a user after he has successfully signed a document
with a certificate that has an identifier.

* **DefaultCurrency** (default: `R$`, v1.22.0): sets the default currency for the application.

* **DocumentAcceptedMimeTypes** (v1.22.0): defines the accepted mime types for document uploads. Values should be separated by comma. Set as null if types should not 
be restricted.

* **HideMultipleDocumentNotificationViewDocumentsButton** (v1.27.0): if `true`, the `View documents` button will not be included in the pending action emails for multiple 
documents. This ensures that the email only contains links that do not require the user to log in.
* **HideMultipleConcludedDocumentNotificationViewDocumentsButton** (v1.45.0): if `true`, the `View documents` button will not be included in the concluded document email for multiple 
documents. This ensures that the email only contains links that do not require the user to log in.

* **AllowAlgorithmNotAllowed** (v1.31.0): if `true` accepts documents signed with algorithms that are deemed insecure shuch as SHA-1.

* **MaxNumberSignaturesToValidateAtOnce** (default: `40`, v1.31.0): sets the maximum number of signatures a document can have in order to validate all signatures at once instead of
doing it in rounds.
* **NumberSignaturesPerValidationRound** (default: `10`, v1.31.0): sets the number of signatures validated in each validation round if the document has exceeded the number
specified in the MaxNumberSignaturesToValidateAtOnce setting.
* **MaxTotalOfSignaturesForRoundsValidation** (default: `40`, v1.43.0): sets the maximum number of signatures that will be returned when performing validation rounds.
* **MaxEllapsedSecondsForRoundsValidation** (default: `30`, v1.43.0): sets the maximum number of seconds that can be used for all validation rounds. If the amount is exceeded, 
the application will return all signatures validated so far.

* **CanceledDocumentWatermarkText** (v1.33.0): the text of the watermark that is added to canceled documents.
* **ExpiredDocumentWatermarkText** (v1.33.0): the text of the watermark that is added to expired documents.

* **EnableEmailTemplateCustomization** (v1.33.0): if `true`, allows default email templates to be overriden. The files must be HTML and follow the pattern `Email-<template-type>.html`.

* **HidePublicAreaMenuLinks** (v1.34.0): if `true`, hides menu links in the public area such as the document validate and login links.

* **MaskUserIdentifier** (v1.35.0): if `true`, mask user identifiers in signature visual representations, signature manifest, public area and most screens that allow users to 
view information from other users. Applies to the whole instance: there is no per-organization option. See [Privacy](https://docs.lacunasoftware.com/en-us/articles/signer/concepts/privacy).
* **MaskUserEmailAddress** (v1.47.0): if `true`, mask user e-mail addresses in signature manifest, public area and most screens that allow users to 
view information from other users.

* **ReplyToDocumentCreator** (v1.41.0): if `true`, adds the document creator's e-mail address as the reply to address for all e-mails associated with that document.

* **FilterDocumentsByPendingForMe** (v1.43.0): if `true`, the "Show documents that are pending for me" filter is enabled by default in the documents page.

* **MaxItemsRetrievedInOrganizationFilter** (default: `10`, v1.43.0): sets the maximum number of organizations displayed in the organization filter that is displayed in the documents page (and other pages).
* **MaxItemsRetrievedInFolderFilter** (default: `20`, v1.43.0): sets the maximum number of folders displayed in the folder filter that is displayed in the documents page (and other pages).
* **MaxItemsRetrievedInTemplateFilter** (default: `20`, v1.74.0): sets the maximum number of templates displayed in the template filter.

* **FlowActionTitleDisplayedByDefault** (v1.46.0): if `true` displays the participant title box by default.

* **UseOrganizationNameAsNotificationsSenderName** (v1.47.0): if `true` notifications regarding documents are sent using the organization name as sender name.

* **ParticipantWelcomeMessageIntervalInMinutes** (default: `0`, v1.47.0): if positive defines the amount of minutes that will be waited to send a participant welcome message notification
after he signed a document for the first time (and has not set his password yet). Any negative value will disable this notification.
* **OrganizationUserWelcomeMessageDisabled** (v1.58.3): if `true` won't send a welcome message notification after a user is added to an organization.

* **HideParticipantsListAndOrderOfActionsForNonManagers** (v1.50.0): hides participant information from document details page for all users but document's organization managers or admins.

* **DisablePendingFlowActionsApi** (v1.50.0): disables the API that retrieves information from pending participants for documents. This will prevent the pending participants 
to be displayed in the documents page.

* **DocumentExpirationTime** (v1.54.0): defines the document expiration time in timespan format (`HH:mm:ss`). By the default (if not set) it considers the expiration time as the 
end of the day in the configured default timezone. This option should only be used if the default timezone is Brasilia Standard Time (GMT-3).

* **ShortSiteName** (v1.56.0): a short name to reference the application in messages that have a small amount of allowed characters (such as SMS messages). Should be a shorter
version of the `SiteName` setting.

* **UpdateSubscriptionAccessTimeoutDelayInSeconds** (v1.60.0, default: `60`): timeout to reschedule update subscription access jobs if there is already one job of same type running.
If set to `0` disables this behavior.

* **DisableOrganizationRenameByNonInstanceAdmin** (v1.63.0): if `true` organization administrators will not be able to update organization info such as name and identifier. 
Only instance administrators will be able to perform such actions.

* **EnableSignatureValidationWhenGeneratingManifest** (v1.63.0): if `true`, whenever a signature manifest is generated, the associated signed document will have its signatures
validated. This is disabled by default because of performance implications.

* **EnableSignaturesManifestDownloadInDocumentValidation** (v1.67.0): if `true`, a Signatures Manifest download option will be displayed when validating documents.

* **AllowUserInfoUpdateBySubscription** (v.1.64.0): if `true`, users created when you create a document or when adding a user to a subscription will be able to have their information
updated by administrators of that subscription.

* **RequireFolderSelectionWhenCreatingDocuments** (v.1.65.0): if `true`, users are required to select a folder when creating documents.

* **AllowBasicAndOperatorUsersToManageContacts** (default: `false`, v2.17.1): if `true`, users with the Basic or Operator role in an organization are also allowed to create, update and delete the organization's contacts. By default only Admin and Manager can manage contacts.

* **MaxWebhooksPerOrganization** (v1.65.0, default: `5`): maximum number of webhooks that can be added to an organization.

* **DocumentConcludedWebhookDelayInSeconds** (v1.66.0, default: `60`): delay in seconds to wait until the document concluded webhook is triggered.

* **EnableCustomizableTranslationFiles** (v1.69.0): if `true`, enables customization of frontend translation files.
* **EnableCustomizableLocalizationResourceFiles** (v1.69.0): if `true`, enables customization of backend localization resource files.

* **AllowFlowActionRefusalToNotRefuseDocument** (v1.70.0): if `true`, when an action is refused, the document won't have its status changed to refused as well (as long as there can still be 
at least one successfully completed action).
* **MarksSessionExpirationInMinutes** (v1.70.0, default: `60`): the default expiration of a marks positioning session in minutes.

* **MaxSignersPerDocument** (v1.71.0, default: `30`): the maximum number of signers allowed per document.
* **HideDownloadOptionForPendingDocuments** (v1.76.0): if `true`, does not display the download option for pending documents. This setting can be overriden by organization settings.

* **EnableInitialStepForActionInPublicArea** (v1.79.0): starting v1.79.0 public signature and approval pages will display the document directly to the user without the 
initial page showing document details. If `true` reverts to the old behavior of previous versions.

* **DisableSwagger** (v1.80.0): if `true`, disables Swagger.

* **DisableLTV** (v2.2.0): if `true`, disables LTV for PAdES signatures.

* **DisableRefuseSignature** (v2.2.0): if `true`, disables the option of refusing signatures in the signature page.

* **MaxItemsRetrievedInBillingPlanFilter** (v2.3.0, default: `10`): defines the maximum number of items that will be retrieved in the billing plan filter.

* **RemoveJsFromPdfs** (v2.4.6, default: `true`): enables the automatic removal of Javascript objects from PDFs, in order to improve security.

* **EnableDocumentValidationInThePublicArea** (v2.4.0, default: `true`): enables the document validation page and endpoints.

* **DisableNotifyParticipantsOnDocumentDeleted** (v2.6.0, default: `false`): prevents document deleted notifications from being generated in the instance.

* **PublicUploadEnabled** (v2.6.0, default: `true`): requires users to be authenticated in order to make uploads in the platform.

* **PublicBatchSignatureEnabled** (v2.7.0, default: `false`): if `true`, enables the option to perform batch signatures in the public area. This allows users to sign multiple documents at once without the need of logging in, by using a ticket that is sent in the signature reminder email.

* **IncludeQrCodeInEmailNotifications** (v2.9.0, default: `false`): if `true`, includes a QR code in email notifications that link to the document in the platform through the WebPKI app.

* **AllowRevocationStatusUnknown** (default: `false`, v1.10.0): if `true`, the signature and validation policies (PAdES, CAdES and XAdES) treat a certificate whose revocation status cannot be obtained as a warning instead of an error.

* **UseBrazilianPdfSigningPolicies** (default: `false`, v1.43.1): if `true`, PDF signatures made with ICP-Brasil certificates use the ICP-Brasil policies (AD-RB, or AD-RT when a timestamp is added) instead of the basic PAdES policies.

* **MenuIframeUrl** (v1.49.2): URL of a page displayed in an iframe as the site's top menu. Signer appends `?p=true` in the private area and `?p=false` in the public area. If the URL ends with `menu.html`, the private area loads `menu-private.html` from the same address.

* **MaximumDocumentsRetrievedInFolderAccessUpdate** (default: `500`, v1.52.1): maximum number of documents processed in each round of the job that updates user accesses when access to a folder changes.
* **MaximumDocumentsRetrievedInSubscriptionAccessUpdate** (default: `500`, v1.52.1): maximum number of documents processed in each round of the job that updates user accesses when access to an organization changes.
* **MaximumFoldersRetrievedInSubscriptionAccessUpdate** (default: `500`, v1.52.1): maximum number of folders processed in each round of the job that updates user accesses when access to an organization changes.

* **EnforceRootPermissionToImportDocuments** (default: `true`, v1.58.0): if `true`, the document import API requires the application to have the import documents permission at instance (root) level. If `false`, the permission in the application's organization is enough.

* **DisableAutomaticTimeZones** (default: `false`, v1.59.0): if `true`, displayed dates (for example, in the signatures manifest) always use the instance's default time zone. If `false`, Signer uses the time zone associated with the user's identifier type (for example, Ecuador's or Paraguay's).

* **NumberOfNotificationsToCleanupByJobRun** (default: `50`, v1.61.0): maximum number of notifications whose content the notification cleanup job moves to Blob Storage in each run.

* **DisableConcludedFlowEdit** (default: `false`, v1.61.0): since v1.61.0, the flow of a concluded document can be edited (for example, to add participants). If `true`, editing the flow of concluded documents is blocked. Documents with the Simple signature type can never have their flow edited after they are concluded.

* **VirtualCameraBlacklist** (default: `ManyCam,Virtual,OBS,Iriun`, v1.75.0): comma-separated list of virtual camera name patterns. When capturing a selfie, the browser compares each camera name with these patterns, case-insensitively, and blocks the cameras that match. Leave it empty to block no camera.

* **HideSubjectNameInXadesSignatures** (v1.76.0): if `true`, does not add the subject name in XAdES signatures.
* **DatabaseCommandTimeout** (v1.76.0): defines the database command timeout in seconds. If not set, or zero or less, the default timeout applies.

* **PrivacyPolicyUrl** (v2.1.1): if set, the address `<SiteUrl>/privacy` redirects to this URL. It is unrelated to the pages of the [Legal](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#legal-settings-v300) section, which are at `/legal/privacy-policy`.

* **DisableWebPkiQrCodeSignature** (default: `false`, v2.7.0): if `true`, hides, on the public signature page and on the document details, the option to sign with the Web PKI app by scanning a QR code.

* **UseMonotonicDashboard** (default: `false`, v2.9.1): if `true`, all cards of the home page (dashboard) use the theme's primary color instead of a different color for each card.

* **SynchronizeIdentifiersBatchSize** (default: `500`, v2.11.0): number of users processed in each batch by the background job that synchronizes user identifiers. See `DisableSyncIdentifiersJob` in the [IdentifierScope settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#identifier-scope-settings).

* **FailedJobsRetentionDays** (default: `90`, v2.19.0): how many days Hangfire jobs that ended in failure are kept before they are deleted. By default, Hangfire keeps these jobs forever and the Hangfire schema grows without limit. The maximum value is `3650`: larger values are reduced to it. If the value is zero or less, Signer keeps Hangfire's default behavior and does not run the cleanup job.

* **MaxFailedJobsToCleanupByJobRun** (default: `100000`, v2.19.0): maximum number of failed jobs the cleanup job deletes in each run.

* **CleanupFailedHangfireJobsCommandTimeoutSeconds** (default: `300`, v2.21.0): command timeout, in seconds, for each batch delete performed by the failed Hangfire jobs cleanup job. This cleanup runs against the live Hangfire schema and may briefly wait on locks, so it needs a longer budget than the default request timeout. Set to zero or less to fall back to the default timeout.

* **EnableDocumentPause** (default: `true`, v3.0.0): if `false`, disables pausing documents in progress.

* **AttachmentAcceptedMimeTypes** (v3.0.0): defines the mime types accepted when uploading attachments, separated by comma. If not set, the `DocumentAcceptedMimeTypes` list is used.

* **CertificateTypeOptions** (v3.0.0): list of the certificate types that the user can require from a signer when creating a document. The available values are `A1`, `A2`, `A3`, `A4`, `S1`, `S2`, `S3`, `S4`, `T3` and `T4`. Invalid values are ignored. If the list is not set, is empty or only has invalid values, the default is `A1`, `A2` and `A3`. Example (environment variables): `General__CertificateTypeOptions__0=A1`, `General__CertificateTypeOptions__1=A3`.

* **DocumentUserDenormalizationBatchSize** (default: `10000`, v3.0.0): number of rows updated per batch by the `DocumentUser` backfill. Smaller values reduce lock time on instances that update under live traffic. Zero or less falls back to the default.

* **DocumentUserDenormalizationBackfillCommandTimeoutSeconds** (default: `300`, v3.0.0): timeout, in seconds, of each backfill batch.

* **DocumentUserDenormalizationIndexCommandTimeoutSeconds** (default: `7200`, v3.0.0): timeout, in seconds, of the `DocumentUser` covering-index build.

* **ReportDatabaseCommandTimeoutSeconds** (default: `600`, v3.0.0): timeout, in seconds, of the queries of the organization, user and folder documents reports. Never lowers `DatabaseCommandTimeout`.

* **DocumentsReportIndexCommandTimeoutSeconds** (default: `7200`, v3.0.0): timeout, in seconds, of the `Documents (SubscriptionId, CreationDateUtc)` index build. Raise it for very large Documents tables.

###  *Billing* Settings (v1.40.0)

Under section **Billing**:

* **Enabled**: if `true` enables the billing module.
* **EnableInformationCheck**: if `true` enables the check that verifies if the billing information has been set whenever a paid transaction is created by a user 
or organization. The deprecated `General.EnableBillingInformationCheck` option also enables this check.
* **TrialPeriodDays**: if greater than `0`, enables and defines the number of days that the billing trial period will last. During the trial period, all transactions in an
organization will be free of charge (the creation date of the organization is considered as the start date).
* **EnableBillingPlanHiring** (v1.53.0): if `true` users will be able to choose and hire billing plans. If enabled a payment gateway must be configured. 
* **MaxNumberOfAvailablePlansDisplayed** (default: `20`, v1.53.0): the maximum number of billing plans displayed in the hire billing plans page.
* **AllowBasicUsersToViewOrganizationBillingInformation** (v1.62.0): if `true` basic users will be able to view invoices and billing information of an organization. 
* **ConsiderEnvelopeAsDocumentInTransactionIfPriceNotDefined** (default: `true`, v1.61.0): if `true` and the organization's price table has no price for envelopes, each envelope is charged as a document.
* **BlockSubscriptionDeletionIfHasPaymentDebt** (default: `true`, v1.78.0): if `true` organization administrators cannot delete a subscription if it has payment debts. The 
instance administrator will be able to delete it if necessary though.
* **EnableInformationCheckForZeroValueInvoices** (default: `false`, v2.22.0): when `EnableInformationCheck` is also enabled, extends the billing information requirement to invoices that have not yet accumulated a chargeable value (trial-period subscriptions, and prepaid subscriptions with no charge posted to the invoice yet) instead of only enforcing it once the invoice value is greater than zero.

###  *DocumentTypes* Settings (v1.7.0)

Under section **DocumentTypes**:

* **Enabled**: if `true` shows a select to determine the type of a document when creating one. The available types are `Deed` (deprecated as of v1.33.0), `Power of Attorney` (deprecated as of v1.33.0) and `Prescription`.
* **EnabledOptions**: comma separated list of types that will be enabled/displayed. The order of the types will be respected when displaying them. Example: `PowerOfAttorney,Deed,Prescription`.
If this setting is not provided and document types are enabled, all available options will be displayed.

###  *SupportChat* Settings (v1.6.0)

Under section **SupportChat**:

* **Type**: the support chat provider. Available options are `Movidesk`, `Jivo` or `Custom` (v1.44.0).
* **Enabled**: if `true`, enables the support chat for the selected type.
* **Key**: the key for the support chat account.
* **ScriptUrl** (v1.44.0): if type is `Custom`, defines the URL to load the chat script.

###  *ElectronicSignature* Settings

Under section **ElectronicSignature**:

* **Enabled**: if `true`, displays the option to accept electronic signatures when creating documents.
* **EnableSmsAuthentication**: if `true`, enables the SMS verification option for electronic signatures. In order to function properly, a SMS provider must be configured (see [SMS](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#sms-settings)).
* **EnableWhatsappAuthentication** (v1.56.0): if `true`, enables the Whatsapp verification option for electronic signatures.  In order to function properly, the [Whatsapp settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#whatsapp-settings) must be configured.
* **EnableOtpAuthentication**: if `true`, enables the OTP App verification option for electronic signatures.
* **EnableSelfieAuthentication** (v1.23.0): if `true`, enables the selfie capture for electronic signatures.
* **EnableDatavalidAuthentication** (v1.32.0): if `true`, enables the selfie capture with Datavalid validation for electronic signatures. If enabled, the setting in the section
`Datavalid` must also be configured.
* **EnablePixAuthentication** (v1.32.0): if `true`, enables the Pix authentication for electronic signatures. If enabled, the setting in the section
`Gerencianet` must also be configured.
* **EnableIdScanAuthentication** (v1.77.0): if `true`, enables the ID scan authentication for electronic signatures. If enabled, the setting in the section
`RestPki` must also be configured.
* **EnableElectronicSignatureOfTermsOfUse** (default: `true`): if `true`, enables the terms of use to be signed electronically.
* **IsAllowedByDefault**: if `true`, the option to allow electronic signatures is selected by default.
* **IsRequired** (v1.46.0): if `true`, the signer **won't** have the option to sign with digital certificate.
* **IsGeolocationRequired** (v1.5.0): if `true`, the geolocation of an user must be sent in order to sign electronically.
* **Mode** (default: `Timestamp` if there is a timestamper configured, `SelfSigned` otherwise, v1.8.0): the mode in which the electronic signatures will be performed. The available modes are `SelfSigned` and `Timestamp`: 
	* `SelfSigned`: a self signed certificate is generated once and used for every electronic signagure in the application.
	* `Timestamp`: the electronic signature is added to the document as a timestamp signature. Requires that a Timestamper is configured.
* **AdditionalInfoUrl** (v1.9.0): URL to redirect the user when he clicks the electronic signature info icon in the document creation screen.
* **UseSignatureCertificateAsSelfSignedCertificate** (v1.52.0): if `true` and a [Signature Certificate](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#signature-certificate) is enabled, use it instead of the auto generated self signed certificate.
* **EnableLivenessAuthentication** (v1.75.0 - *internal testing only*): if `true`, enables liveness validation in selfie and datavalid authentications.
* **RequireLivenessOnSelfieAuthentication** (v1.75.0): if `true`, requires that selfie authentications have liveness validation.
* **RequireLivenessOnDatavalidAuthentication** (v1.75.0): if `true`, requires that datavalid authentications have liveness validation.
* **HideEvidencesInPublicValidation** (v1.75.1): if `true`, hide electronic signer evidences in the public document validation page.
* **MaxLivenessSessionsPerSignature** (default: `5`, v2.13.0): maximum number of liveness sessions that can be created per signature attempt. Use `-1` for unlimited.
* **MaxIdScanSessionsPerSignature** (default: `5`, v2.13.0): maximum number of IdScan sessions that can be created per signature attempt. Use `-1` for unlimited.

* **CollectGeolocation** (default: `true`, v3.0.0): if `false`, the geolocation is never requested on electronic signatures and `IsGeolocationRequired` has no effect. Applies to the whole instance: there is no per-organization option. See [Privacy](https://docs.lacunasoftware.com/en-us/articles/signer/concepts/privacy).

* **PixAuthentication** (v1.32.0): subsection with the limits of the Pix authentication. Example (environment variables): `ElectronicSignature__PixAuthentication__MaxChargeAmount=0.50`.
	* **MaxOfInvalidPayments** (default: `4`): maximum number of invalid payments by a signer. When the limit is reached, the electronic signature is blocked for that signer.
	* **PixExpirationMinutes** (default: `1440`): validity, in minutes, of the Pix charge generated for the authentication.
	* **MaxChargeAmount** (default: `0.50`): maximum charge amount. Signer generates a random amount between `0.01` and this value.
	* **PixDateFilterTresholdInMinutes** (default: `240`): margin, in minutes, applied to the start and end of the period used to search received Pix payments. It compensates for clock differences between the Pix gateway (Gerencianet) and the Signer server.

###  *AuthenticationCode* Settings (v1.52.0)

These settings control the authentication codes sent by SMS, email or Whatsapp on electronic signatures. Before v1.52.0, the application did not read this section and always used the default values.

Under section **AuthenticationCode**:

* **CodeValidityMinutes** (default: `10`): validity of the code, in minutes.
* **NewCodeExpirationTreshold** (default: `5`): when the signer asks for the code to be resent, Signer generates a new code if the current code has already expired or expires in less than this number of minutes. Otherwise, it resends the same code.
* **MaxSms** (default: `5`): limit of code sends by SMS for each signer.
* **MaxEmails** (default: `10`, v1.47.0): limit of code sends by email for each signer.
* **MaxWhatsapps** (default: `10`, v1.56.0): limit of code sends by Whatsapp for each signer.
* **MaxAttempts** (default: `4`): maximum number of attempts with a wrong code. When the limit is reached, the electronic signature is blocked for that signer.

###  *CloudSignatureSession* Settings (v2.19.0)

Under section **CloudSignatureSession**:

* **Enabled** (default: `false`): if `true`, enables cloud signature session reuse. When enabled, users can authorize a single authentication to sign multiple documents within a configured period, avoiding repeated OTP prompts.
* **OrganizationAllowsSessionsByDefault** (default: `true`): if `true`, cloud signature session reuse is enabled by default for new organizations. Organizations can override this setting individually.
* **DefaultSessionExpirationMinutes** (default: `720`): the default session duration in minutes. The maximum allowed value is `10080` (7 days). Any configured value exceeding this limit will be clamped to the maximum.
* **CheckboxCheckedByDefault** (default: `true`): if `true`, the "keep session active" checkbox is checked by default when a user performs a cloud signature, making session reuse opt-out rather than opt-in.

###  *Signature Certificate* Settings (v1.52.0)

Under section **SignatureCertificate**:

* **BlobName**: the name of the PFX certificate stored in the configured Blob Storage.
* **BlobFolder** (default: `certificates`): the folder where the certificate is stored in the configured Blob Storage.
* **Password**: the PFX certificate password. It is recommended that the certificate has a password.

###  *TrustServices* Settings (Cloud Certificates, v1.11.0)

Under section **TrustServices**:

* **Enabled**: if `true`, displays cloud certificate providers wherever a signature is required. Only the providers that have a certificate for the user's identifier
will be shown. If a user does not have any certificate in the configured providers nothing will be displayed.
* Service info options (`Services`): each service must be configured individually like shown bellow. The key of each service is the provider name. The providers whose endpoint the application already knows are: `BirdID`, `SafeID`, `NeoID` and `VIDaaS`. For another Trust Service Provider (PSC), such as Paraguay's Code100, use a key of your choice and set `Endpoint` and `BadgeUrl`. When registering the client with the provider, use the redirect URI `<SiteUrl>/tsp-callback`. For a step-by-step guide, see [Cloud certificates](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/certificado-em-nuvem):
	* **&lt;provider>:ClientId**: the client id for this provider.
	* **&lt;provider>:ClientSecret**: the client secret for this provider.
	* **&lt;provider>:Endpoint** (optional): should only be set for non standard providers such as staging environments. Specificies the service endpoint.
	* **&lt;provider>:BadgeUrl** (optional): should only be set for non standard providers such as staging environments. Specificies the badge image that will be shown
	to the user.
	* **&lt;provider>:Provider** (optional): should only be set for non standard providers such as staging environments. Specificies the name of the provider.
	* **&lt;provider>:ProtocolVariant** (optional): should only be set for non standard providers such as staging environments. Specificies the name of the protocol variant.

* **DiscoveryEnabled** (default: `true`, v1.48.1): if `false`, disables discovery of cloud certificate providers (displays all configured providers for every user).

###  *Csc* Settings (Cloud Certificates via the CSC protocol, v1.71.0)

These settings enable signing with cloud certificates from providers that use the CSC (Cloud Signature Consortium) protocol. They are independent of the [TrustServices](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#trustservices-settings-cloud-certificates-v1110) section. For a step-by-step guide, see [Cloud certificates](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/certificado-em-nuvem).

Under section **Csc**:

* **Enabled** (default: `false`): if `true`, displays the configured CSC providers when the user needs to sign with a certificate.
* **Services**: dictionary of providers. The key is a name of your choice that identifies the provider. Each provider has the following settings:
	* **FriendlyName**: the provider name displayed to the user.
	* **Endpoint**: the base URL of the provider's CSC service.
	* **ClientId**: the client id registered with the provider.
	* **ClientSecret**: the client secret registered with the provider.
	* **BadgeUrl**: the URL of the badge image displayed to the user.
	* **ServerCertificateThumbprint** (v1.72.0): expected thumbprint of the TLS certificate of the provider's server, in hexadecimal. The length of the value defines the hash algorithm: SHA-1, SHA-256, SHA-384 or SHA-512.
* **DangerousAcceptAnyServerCertificates** (default: `false`, v1.72.0): if `true`, accepts any TLS certificate from the providers' servers. Use it only for testing.

Example (environment variables):

```ini
Csc__Enabled=true
Csc__Services__MyProvider__FriendlyName=My Provider
Csc__Services__MyProvider__Endpoint=https://csc.provider.com/
Csc__Services__MyProvider__ClientId=...
Csc__Services__MyProvider__ClientSecret=...
```

When registering the client with the provider, use the redirect URI `<SiteUrl>/api/csc/callback`.

> **Warning**
>
> If any provider has `ServerCertificateThumbprint`, Signer only accepts TLS certificates with the configured thumbprint. Connections to providers without `ServerCertificateThumbprint` fail. Set the thumbprint on all providers or on none.

###  *VisualRepresentation* Settings

Under section **VisualRepresentation**:

* **Enabled** (default: `true`, v1.7.0): if `true`, all PDF documents signed with PAdES will have a signature visual representation that can be automatically
or manually positioned.

* **SignatureWidthCentimetersOnA4**: width of the signature visual representation in centimeters (optimized for A4 paper size). The default value, as of v1.37.0, is `5.85` (previous value was `6`).
* **SignatureHeightCentimetersOnA4**: height of the signature visual representation in centimeters (optimized for A4 paper size). The default value, as of v1.37.0, is `1.45` (previous value was `3.3`).

* **SignatureInitialsWidthCentimetersOnA4**: width of the signature initials (used when approving a document) visual representation in centimeters (optimized for A4 paper size). The default value is `1.5`.
* **SignatureInitialsHeightCentimetersOnA4**: height of the signature initials (used when approving a document) visual representation in centimeters (optimized for A4 paper size). The default value is `1.5`.

* **AuthenticationStampWidthCentimetersOnA4**: width of the authentication stamp visual representation in centimeters (optimized for A4 paper size). The default value is `2`.
* **AuthenticationStampHeightCentimetersOnA4**: height of the authentication stamp visual representation in centimeters (optimized for A4 paper size). The default value is `2`.

* **AuthenticationSignatureWidthCentimetersOnA4**: width of the authentication signature visual representation in centimeters (optimized for A4 paper size). The default value is `19.31`.
* **AuthenticationSignatureHeightCentimetersOnA4**: height of the authentication signature visual representation in centimeters (optimized for A4 paper size). The default value is `3.436`.

* **DisableAutomaticSignaturePositioning** (v1.18.0): if `true` a signature visual representation will not be addeed to the document if the user does not
manually selects a position while signing.

* **SignaturePositioningRequired** (v1.28.0): if `true` requires that the user positions the signature representation when signing a PDF file.
* **SignaturePositioningEnabledByDefault** (v1.52.0): if `true` the pre-position signature option is set by default in the create document screen.

* **TextVerticalMarginMultiplier** (default: `1.0`, v1.37.0): defines the text's vertical margin by multiplying the provided number with 1% of the signature height.
* **TextHorizontalMarginMultiplier** (default: `1.0`, v1.37.0): defines the text's horizontal margin by multiplying the provided number with 1% of the signature width.
* **EnableSignaturePositionConfirmation** (v1.62.0): if `true` displays a dialog asking for confirmation when a user positions a signature.
* **SignatureInitialsSignerDefaultMode** (default: `None`, v1.43.0): the initials mode preselected for a new signer when creating a document. The options are `None` (no initials), `Optional` and `Required`.

* **AutomaticSignaturePositioning** (default: `Footnote`, v3.0.0): how signatures without a defined position are placed. Options are `Disabled`, `Footnote` and `SignatureSheet` (a signature sheet appended to the PDF).
* **SignatureSheetTitle** (default: empty, v3.0.0): title shown on the signature sheet.
* **SignerPositioningEnabled** (default: `true`, v3.0.0): if `false`, disables manual signature positioning by the signer for the whole instance.

###  *ValidationStamp* Settings (v1.7.0)

Under section **ValidationStamp**:

* **Enabled**: if `true`, adds a stamp to all PDF documents after they are uploaded. The stamp contains information of where the document was
created and where it's signatures can be validated. This is a recommended option if visual representation is disabled.

* **AddSimplifiedManifest** (v1.10.1): if `true`, adds a simplified manifest as the last page of a document. It will also prevent document flows from 
beeing edited since the manifest will only contain the participants added when the document is created.

* **AllowCustomization** (v1.63.0): if `true`, enables organizations to customize the validation stamp.

* **ShowOnBottom**: if `true`, shows the validation stamp at the bottom of every page.
* **ShowOnRight** (default: `true`): if `true`, shows the validation stamp at the right of every page.

* **HeightCentimeters**: the height of the stamp in centimeters. The default value is `0.5`.
* **LeadingCentimeters**: the horizontal (or vertical if stamp is on right) offset in centimeters from the start of the page. The default value is `1.5`.
* **TrailingCentimeters**: the horizontal (or vertical if stamp is on right) offset in centimeters from the end of the page. The default value is `1.5`.
* **MarginToPageCentimeters**: the margin in centimeters from the bottom (or right side if stamp is on right) of the page. The default value is `0.3`.
* **SummaryFontSize**: the font size of the stamp in points. The default value is `8`.

* **ShowLogo** (v1.17.0): if `true`, shows logo at bottom-right corner of every page.
* **LogoWidthCentimeters** (v1.17.0): width of the logo in centimeters. The default value is `1`.
* **LogoHeightCentimeters** (v1.17.0): height of the logo in centimeters. The default value is `1`.
* **LogoMarginRightCentimeters** (v1.17.0): the margin of the logo in centimeters from the bottom of the page. The default value is `1`.
* **LogoMarginBottomCentimeters** (v1.17.0): the margin of the logo in centimeters from the right side of the page. The default value is `1`.

* **EnableEditFlow** (v1.17.0): if `true` allows small changes to document flow after submission even if **AddSimplifiedManifest** is also `true`. The changes allowed are:
adding/removing observers and updating participant emails (if allowed by other settings).

* **AllowOriginalFileDownload** (v1.60.0, default: `true`): if `true` downloads the original version of a document without any of the validation stamp marks.
* **DisplayOriginalFileWhileDocumentNotConcluded** (v1.60.0): if `true` displays the original document when viewing document preview or signing documents (as long as they 
are not concluded). For this option to work properly, `AllowOriginalFileDownload` needs to be enabled as well.

* **CustomMark** (v1.58.0): subsection that adds a custom text mark to every page, together with the validation stamp:
	* **Text**: the mark text. If empty, the mark is not added. The text accepts the placeholders `{CurrentYear}`, `{CurrentDateTime}`, `{page}`, `{totalpages}` and `{<tag name>}`, which is replaced by the value of the document tag with that name.
	* **TagNameForConditionalDisplay**: if set, the mark is only added when the document has a tag with this name and a value.
	* **Position** (default: `Top`): the page edge where the mark is placed. The options are `Top`, `Bottom`, `Left` and `Right`.
	* **Color**: the name of the text color (for example, `Red` or `DarkBlue`).
	* **HorizontalAlign** (default: `Center`) and **VerticalAlign** (default: `Top`): the alignment of the text inside the mark.
	* **HeightCentimeters** (default: `0.6`): the height of the mark, in centimeters. The font size is computed from it.
	* **LeadingCentimeters** (default: `0`) and **TrailingCentimeters** (default: `0`): the offset from the start and from the end of the edge, in centimeters.
	* **MarginToPageCentimeters** (default: `0.2`): the distance to the page edge, in centimeters.

###  *PrinterFriendly* Settings

Under section **PrinterFriendly**:

* **ShowSummaryBottom** (default: `true`): if `true`, shows the signature summary at the bottom of every page.
* **ShowSummaryRight**: if `true`, shows the signature summary at the right of every page.
* **SummaryHeightCentimeters**: the height of the summary in centimeters. The default value is `2`.
* **SummaryLeadingCentimeters**: the horizontal (or vertical if summary is on right) offset in centimeters from the start of the page. The default value is `1.5`.
* **SummaryTrailingCentimeters**: the horizontal (or vertical if summary is on right) offset in centimeters from the end of the page. The default value is `3.5`.
* **SummaryMarginToPageCentimeters** (v1.6.0): the margin in centimeters from the bottom (or right side if summary is on right) of the page. The default value is `0.3`.
* **SummaryFontSize** (v1.6.0): the font size of the summary in points. The default value is `8`.

* **ShowLogo** (default: `true`): if `true`, shows logo at bottom-right corner of every page.
* **LogoWidthCentimeters**: width of the logo in centimeters. The default value is `1`.
* **LogoHeightCentimeters**: height of the logo in centimeters. The default value is `1`.
* **LogoMarginRightCentimeters**: the margin of the logo in centimeters from the bottom of the page. The default value is `1`.
* **LogoMarginBottomCentimeters**: the margin of the logo in centimeters from the right side of the page. The default value is `1`.

* **ShowQrCode** (default: `true`): if `true`, show a QR code that links to the document signature validation screen.
* **ShowQrCodeAccessCode** (default: `false`, v1.66.0): if `true`, displays below the manifest QR code the first four characters of the document key, as an access code.

* **ManifestPageMargin**: margins of the manifest page in centimeters. The default value is `2.5`.
* **ManifestPageHeight**: the height of the manifest page in centimeters. The default value is `29.7` (A4).
* **NormalFontSize**: size of the normal font in the manifest page in points. Sizes of header fonts are defined based on this size. The default value is `12`.
* **SmallFontSize**: size of the small font in the manifest page in points. The default value is `10`.
* **LineHeight**: approximated height of a font with the normal font size. The default value is `0.74`.
* **SmallLineHeight**: approximated height of a font with the small font size. The default value is `0.6`.

* **AllowCustomization** (v1.63.0, default: `true`): if `true`, enables organizations to customize the printer friendly version.

* **IgnorePreExistingSignatures** (v1.68.0, default: `true`): if `true`, does not include (in the printer friendly version) signatures that were made before the document was created
(see also the `PreExistingSignaturesDocumentCreationTresholdInSeconds` setting).
This is specially important if signature types are enabled, as existing signatures may not correspond to the signature type selected when a document is sent to Signer. If signature
types are enabled and you wish to disable this setting, consider also enabling `EnableSignatureValidationWhenGeneratingManifest`.
* **PreExistingSignaturesDocumentCreationTresholdInSeconds** (v1.68.1, default: `60`): defines a treshold of how old can signatures be in order to still be considered as made 
after the document creation (defined in seconds from the document's creation date).

* **EvidenceImagesWatermarkText** (v1.77.0): if `true`, adds watermark to evidence images displayed in the printer friendly version.
* **ShowIdScanOnPrinterFriendlyVersion** (v1.77.0): if `true`, displays the ID scan in the printer friendly version of an electronic signature that has requested that authentication.
* **AddWatermarkToSelfies** (v1.77.0): if `true`, adds watermark to selfies displayed in the printer friendly version.

* **EnableSingleSignerSummary** (v2.3.0): if `true` and the document has only one signer, the summary will display more information regarding the signer.
* **EnableSingleSignerSummaryForMultipleSigners** (v2.3.0): if `true`, ignores the number of signers and single signer summary is displayed even if there is more than one signer.
* **SingleSignerDateFormat** (v2.3.0): defines the format used to display the signature in the single signer summary.

* **HideApproversList** (default: `false`, v2.7.0): if `true`, the signatures manifest does not list the document approvers.

* **EmailAttachmentSignersLimit** (default: `30`, v2.14.0): maximum number of signers in a flow above which the printer friendly version is no longer attached to notification emails.

* **SanitizeMalformedImageMasks** (default: `false`, v3.0.0): if `true`, removes malformed image masks (`/Mask`) from the printer friendly version, which make Adobe Acrobat report a per-page error. Documents are scanned read-only and only those carrying an invalid mask are re-saved. Enabling it adds that scan to every printer friendly download.

###  *HealthDocument* Settings (v1.46.0)

Health documents (such as prescriptions, medical certificates and exam requests) get a footer note before the first signature. The note has a QR code that links to the document validation and a text. To make room for the note, Signer reduces the height of the page content.

Under section **HealthDocument**:

* **DisableNote** (default: `false`): if `true`, does not add the note to health documents.
* **HeightReductionCentimeters** (default: `1.8`): how much the page content height is reduced, in centimeters.
* **MarginBottomCentimeters** (default: `0.5`): the bottom margin of the note, in centimeters.
* **QrCodeLeadingCentimeters** (default: `1.5`), **QrCodeWidthCentimeters** (default: `2.2`) and **QrCodeHeightCentimeters** (default: `1.8`): the position from the left edge, the width and the height of the QR code, in centimeters.
* **FontSize** (default: `10`): the font size of the text, in points.
* **MessageLeadingCentimeters** (default: `3.6`), **MessageTrailingCentimeters** (default: `1.5`), **MessageHeightCentimeters** (default: `1.8`) and **MessageVerticalOffsetCentimeters** (default: `0.15`): the position from the left and right edges, the height and the vertical offset of the text, in centimeters.

###  *PaymentGateway* Settings (v1.27.0)

Under section **PaymentGateway**:

* **Enabled**: if `true`, enables Payment Gateway integration.
* **Gateway** (default: `Iugu`): defines the Payment Gateway. The only available value is `Iugu` ([https://www.iugu.com/](https://www.iugu.com/)).
* **DueDays** (default: `10`): the number of days a user will have to pay an invoice.
* **InvoiceProductName**  (default: same value set on the `SiteName` setting): defines the name of the product that will appear in the invoice PDF.
* **MinInvoiceValue** (default: `1`): the minimum value of an invoice. All invoices with value lower than this will be automatically marked as paid after being closed.
* **InvoiceDueDays** (default: `1`, v1.53.0): the number of days after the invoice closes that will be used to define the due date of the invoice. This controls when credit card
automatic charges will be made.
* **BillingPlanDueDays** (default: `2`, v1.53.0): the number of days the user will have to make the payment for a billing plan hire.

###  *Iugu* Settings (v1.27.0)

Under section **Iugu**:

* **AccountId**: Iugu's Account ID.
* **ApiToken**: Iugu's API token.
* **WebhooksAuthKey**: Iugu's Webhook authentication key.
* **TestMode**: defines if the credentials are Test environment credentials.
* **PaymentMethods**(default: `credit_card,bank_slip,pix`, v1.37.0): list of allowed payment methods separated by comma.
* **CloseInvoiceJobDelayInSeconds** (default: `3`, v1.49.0): interval, in seconds, between the invoice closing jobs scheduled in sequence when the payment gateway is Iugu. It avoids Iugu's rate limiting at the turn of the month. If `0`, the jobs are not spaced out.

###  *Invoice Receipt* Settings (v1.27.0)

Under section **InvoiceReceipt**:

* **Enabled**: if `true`, enables the issuing of receipts for invoices.
* **Gateway** (default: `NFEio`): defines the Receipts Gateway. The only available value is `NFEio` ([https://nfe.io/](https://nfe.io/)).
* **ReceiptType** (default: `NFSe`): defines the type of receipt issued. The only available value is `NFSe` (service receipt).
* **CityServiceCode**: the code for the service in the city it will be provided. Navigate to "Companies> List of Registered Services" in your NFEio account to view available codes for your company.
* **CnaeCode** (optional): your company's [CNAE](https://receita.economia.gov.br/orientacao/tributaria/cadastros/cadastro-nacional-de-pessoas-juridicas-cnpj/classificacao-nacional-de-atividades-economicas-2013-cnae). 
* **ReceiptDescription** (default: same value set on the `SiteName` setting): a description included in the "Service Description" of the receipt.

###  *SMS* Settings

Under section **SMS**:

* **Type**: defines the provider of SMSs. Available options are `TotalVoice`, `Twilio`, `Zenvia` (v1.28.0), `SmsEmpresa` (v1.28.0), `Generic` (v1.36.0), `AmazonSNS` (v1.55.0) and `Tigo` (v1.55.0).

For the `TotalVoice` provider, define the setting:

* **AccessToken**: 

For the `Twilio` provider, define the settings:

* **MessageFrom**: the number used to send the message.
* **AccountSid**: the account SID.
* **AuthToken**:  the account AUTH Token.

For the `Zenvia` provider, define the settings:

* **Account** (v1.28.0): the API Account of Zenvia Connect.
* **Password** (v1.28.0): the API Password of Zenvia Connect.

For the `SmsEmpresa` provider, please define the setting:

* **ChaveKey** (v1.28.0): the "Chave Key" displayed in your SMS Empresa account settings.

For the `Generic` provider (v1.36.0), define the settings:

* **Endpoint**: the endpoint to which the SMS information will be sent.
* **AuthType** (default: `NoAuth`): defines the type of authorization provided in the request. Available options are `NoAuth`, `Basic`, `Bearer` and `ApiKey`.
* **Username**: the username if the AuthType is `Basic`.
* **Password**: the password if the AuthType is `Basic`.
* **BearerToken**: the Bearer token if the AuthType is `Bearer`.
* **ApiKey**: the API key if the AuthType is `ApiKey`.

For the `AmazonSNS` provider (v1.55.0), define the settings:
* **Region**: he AWS region code, for instance `sa-east-1` or `us-east-1` (see [AWS region codes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)).
* **AccessKeyId**: the access key ID.
* **SecretAccessKey**: the secret access key.

###  *Whatsapp* Settings (v1.56.0)

Under section **Whatsapp**:

* **Type** (default: `Meta`, 1.78.0): defines the service used to send Whatsapp messages. Available options are `Meta` and `Zenvia` (v1.78.0).
* **TemplateMapping** (optional): dictionary of template names. This should only be used if you do not want to register the template in Meta Business Management 
with the name which we recommend. Example:

```ini
Whatsapp__TemplateMapping__pendingsignature=signer_pendingsignature
```

For the `Meta` service, define the settings:

* **Endpoint** (default: `https://graph.facebook.com`): the endpoint to which the Whatsapp messages will be sent. Should only be set if you have a Whatsapp Business 
on premises instance.
* **AccessToken**: a Whatsapp Business API access token.
* **PhoneNumberId**: the phone number ID that will be used to send messages.

For the `Zenvia` service (1.78.0), define the settings:

* **Endpoint** (default: `https://api.zenvia.com`): the Zenvia endpoint to which the Whatsapp messages will be sent. 
* **ApiToken**: the Zenvia API token.
* **PhoneNumber**: the phone number that will be used to send messages.
* **LanguageTemplateMap** (optional): dictionary of template/language names. Since Zenvia uses GUIDs for template names and each template has a fixed language, use this setting to 
map templates/languages to Zenvia GUIDs. Example:

```ini
Whatsapp__LanguageTemplateMap__pendingsignature-pt_BR=c5d3904f-3e22-49bc-a92b-37eeb6522c90
Whatsapp__LanguageTemplateMap__authenticationcode-pt_BR=8bc863e9-e661-43dc-ab29-016b0b990b86
```

* **EnableSendingRemindersViaLinkSharingOption** (v2.3.0): if `true`, enables sending reminders directly through the WhatsApp API.
* **MinimumWaitTimeBetweenRemindersInSeconds** (v2.3.0, default: `300`): minimum time in seconds that must be awaited between reminder notifications, used to prevent spamming.

###  *NFEio* Settings (v1.27.0)

Under section **NFEio**:

* **ApiKey**: NFEio's API key.
* **CompanyId**: the NFEio company ID to be used.
* **WebhookSecretKey**: secret key used when creating Webhooks on NFEio.

###  *Zoom* Settings (v1.29.0)

Under section **Zoom**:

* **Enabled**: if `true`, enables the Zoom video conferences integration.
* **Url** (default: `https://api.zoom.us`): the URL of the Zoom API.
* **MeetingStatusRequeueTimeMinutes** (default: `5`): base interval, in minutes, between meeting status checks. The interval doubles on each check, up to 320 minutes.
* **JwtToken** (deprecated as of v1.59.0): the Zoom's JWT authentication token. Use Server to Server authentication by setting `AccountId`, `ClientId` and `ClientSecret` instead.
* **AccountId** (v1.59.0): your Zoom account ID. Required for Server To Server authentication.
* **ClientId** (v1.59.0): your Zoom client ID. Required for Server To Server authentication.
* **ClientSecret** (v1.59.0): your Zoom client Secret. Required for Server To Server authentication.

###  *Datavalid* Settings (v1.32.0)

Under section **Datavalid**:

* **Disabled**: if `true`, disables the Datavalid service.
* **ConsumerKey**: the SERPRO's consumer key for usage of the Datavalid service.
* **ConsumerSecret**: the SERPRO's consumer secret for usage of the Datavalid service.
* **ApiVersion** (v1.65.0, default: `v3`): API version to use. Available values are `v3` and `v2`.
* **UseFacialOnlyValidation** (v1.65.0, default: `true`): if `true` uses the API that validates facial images only.
* **AddSubscriptionIdAsRequestTag** (default: `false`, v1.70.0): if `true`, sends the ID of the document's organization as the request tag on Datavalid calls.
* **AddFlowActionIdAsRequestTag** (default: `false`, v1.71.0): if `true`, sends the flow action ID as the request tag on Datavalid calls. Takes precedence over `AddSubscriptionIdAsRequestTag`.

###  *Gerencianet* Settings (v1.32.0)

Under section **Gerencianet**:

* **Disabled**: if `true`, disables the Gerencianet service.
* **ClientId**: the API Client ID of the Gerencianet service.
* **ClientSecret**: the API Client Secret of the Gerencianet service.
* **PixKey**: the random Pix key registered in the Gerencianet account.
* **CertificateBase64**: the authentication certificate (in Base 64 format) of the Gerencianet service. If you are hosting the application in Azure App Service,
you must also include the setting `WEBSITE_LOAD_USER_PROFILE` with value `1`. If you are hosting in IIS (Windows Server), you must set the `Load User Profile` option 
of the application pool identity to `True`.

###  *Batches* Settings (v1.30.0)

Under section **Batches**:

* **MaxDocumentsInBatch** (default: `50000`): the maximum number of documents processed in a batch.
* **MaxItemsRetrievedFromDatabase** (default: `10000`): the maximum number of documents retrieved in a single query to the database when processing batches. For high 
volume batches this is used to avoid timeouts when querying the database.
* **NumberDocumentsPerSignatureRound** (default: `100`): number of documents processed in each round of a signature batch.
* **NumberDocumentsPerGenerationRound** (default: `10`): number of documents processed in each round of a generation batch.
* **NumberNotificationsCreatedPerRound** (default: `30`): number of notifications created per batch round.
* **NumberDocumentsPerExpirationRound** (v1.33.0, default: `100`): number of documents processed per expiration round.
* **NumberDocumentsPerDocumentsCreatedWebhookRound** (v1.50.0, default: `100`): number of documents retrieved each round when generating the documents created webhook.
* **NotifyPendingActionsIndividually** (v1.34.0): if `true`, will send pending action emails individually when performing batch actions.
* **NotifyParticipantsDefaultValue** (v1.39.0, default: `true`): sets the default value for the notify participants option that is displayed when a user signs documents in a batch.
* **MaxAgeForOnGoingDocumentBatchesInDays** (v1.80.1, default: `5`): the maximum age for on going document batches to be retrieved on the documents page.
* **MaxOnGoingDocumentBatchesItemsRetrievedFromDatabase** (v1.80.1, default: `10`): the maximum number of document batches retrieved on the documents page.

###  *Envelopes* Settings (v1.33.0)

Under section **Envelopes**:

* **MaxNumberFiles** (default: `20`): the maximum number of files in the envelope.

###  *Graph* Settings (v1.74.0)

DOCX document templates need Microsoft Graph to generate the PDF. Signer uploads the filled DOCX to a `convert` folder of a SharePoint or OneDrive drive, downloads the file converted to PDF and deletes the DOCX from the drive. For a step-by-step guide, see [Templates](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/modelos).

Under section **Graph**:

* **ClientId**: the **Application (client) ID** of the app registration in Microsoft Entra ID.
* **ClientSecret**: a client secret of the app registration.
* **DomainName**: the Microsoft Entra ID domain (tenant), for example `company.com`.
* **DriveId**: the ID of the drive used for the conversion.

The templates feature is only enabled when all four settings are set.

###  *Custom Resources* Settings (v1.37.0)

Under section **CustomResources**:

* **Localizers**: dictionary of custom localizers. Available keys are: `MailFormatter` and `NotificationRepository`.
	* **Resources**: dictionary of resources to customize. The key of the dictionary is the key of the resource.
		* **en**:  the english specific value of the resource.
		* **pt**:  the portuguese specific value of the resource.
		* **es**:  the spanish specific value of the resource.
		* **Default**: the default value for the resource. used if the language specific value is not found.

Example:

```ini
CustomResources__Localizers__MailFormatter__Resources__SignDocument__Default=Sign Document
```

###  *Reminder* Settings (v1.49.0)

Under section **Reminder**:

* **DefaultReminderPeriodInDays** (default: `3`): the number of days to wait before sending action reminder notifications for organization documents. If set to `0` won't send reminder notifications.
* **MaxNumberOfNotificationsForReminder** (default: `10`): the maximum number of notifications sent for a reminder.
* **MaxNumberOfRemindersPerScheduleJobRound** (default: `100`): the maximum number of reminders processed by one round of the schedule job.

###  *BusinessHours* Settings

Defines the instance's business hours. During business hours, some background jobs do less work per run, to reduce the load when more users are on the system:

* The invoice closing, payment gateway invoice check and invoice receipt check jobs process up to 20 items per run during business hours and up to 100 outside them.
* Outside business hours, if there are still notifications to clean up, the notification cleanup job runs again after a short interval.

The time zone of this section also sets the schedule of the recurring invoice closing and identifier synchronization jobs.

Under section **BusinessHours**:

* **StartHour** (default: `8`): the hour business hours start.
* **EndHour** (default: `18`): the hour business hours end. The whole hour counts as business hours: with the default, business hours last until 18:59.
* **IsWeekendBusinessDays** (default: `false`): if `true`, Saturday and Sunday are also business days.
* **TimeZoneId** (default: `E. South America Standard Time`): the time zone used. Accepts a Windows or IANA ID (for example, `America/Sao_Paulo`).

###  *Push Notification* Settings (v1.54.0)

Under section **PushNotification**:

* **Disabled**: if `true` disables push notification sending.
* **ApiKey**: an API Key for subscription in Lacuna Customer portal that is allowed to send push notifications to the Web PKI App.
* **Endpoint** (default: `https://portal.lacunasoftware.com/`): the address of the Lacuna customer portal used to send push notifications.

###  *Access Control* Settings (v1.63.0)

Under section **AccessControl**:

* **IsOpen**: if `true`, any user that logs/registers in the website may use the application and create documents in his personal account. If `false`, users will only be 
able to use the logged user area if they are added previously in an organization. See [Access Control](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/access-control) for more details.
* **BlockPersonalAccounts**: if `true` and the access control is open, users may use the application normally but must create or use an organization to perform actions.

###  *Email* Settings (v1.66.0)

Under section **Email**:

* **EnableTracking** (default: `true`): if `true`, e-mails will be tracked and evidences of opening and clicked links will be registered.
* **EnableUnsubscribe**: if `true` adds an unsubscribe link to e-mails. E-mails that have unsubscribed will only receive new notifications if they are excluded from the 
blocked list by the instance administrator.

###  *Signature Types* Settings (v1.68.0)

Under section **SignatureTypes**:

* **Enabled**: if `true`, enables selection of a signature type when creating and validating documents.
* **DefaultType** (default: `Advanced`): defines the default signature type option when creating and validating documents. Available options are: `Simple`, `Advanced` or `Qualified`.
* **Simple**: this is a subsection that defines settings relative to the `Simple` signature type:
	* **Disabled**: if `true` disables the Simple signature type.
	* **AllowAdvancedElectronicSignatures**: if `true` advanced electronic signatures will be validated successfully when validating a document with the `Simple` signature type.
	* **TrustArbitrator** (default: arbitrator that accepts Brazilian PKI): specific trust arbitrator settings for the `Simple` signature type. Can be defined as explained in the
	[Trust Arbitrator Settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#app-trust-arbitrator). See also [TrustArbitrators of the Simple and Qualified types](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/trust-arbitrator#trustarbitrators-of-the-simple-and-qualified-types).
	* **Authentication**: this is a subsection that defines avaialble authentication types for the `Simple` signature type. When not set, the available types will be defined by the
	[Electronic Signature settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#electronic-settings).
		* **EnableSmsAuthentication**
		* **EnableWhatsappAuthentication**
		* **EnableOtpAuthentication**
		* **EnableSelfieAuthentication**
		* **EnableDatavalidAuthentication**
		* **EnablePixAuthentication**
		* **EnableLivenessAuthentication** (v1.75.0)
		* **EnableIdScanAuthentication** (v1.77.0)
		* **RequireLivenessOnSelfieAuthentication** (v1.75.0)
		* **RequireLivenessOnDatavalidAuthentication** (v1.75.0)
* **Advanced**: this is a subsection that defines settings relative to the `Advanced` signature type:
	* **DisplaySecurityContextNames**: if `true` adds the Advanced signature security context name when displaying the signature type. Should only be set if you have more than one
	security context.
	* **AllowSimpleElectronicSignatures**: if `true` simple electronic signatures will be validated successfully when validating a document with the `Advanced` signature type.
* **Qualified**: this is a subsection that defines settings relative to the `Qualified` signature type:
	* **TrustArbitrator** (default: arbitrator that accepts Brazilian PKI): specific trust arbitrator settings for the `Qualified` signature type. Can be defined as explained in the 
	[Trust Arbitrator Settings](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#app-trust-arbitrator). See also [TrustArbitrators of the Simple and Qualified types](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/trust-arbitrator#trustarbitrators-of-the-simple-and-qualified-types).

###  *Totals* Settings (v1.72.0)

Under section **Totals**:

* **HideDocumentPaginationTotalTreshold** (default: `10000`): threshold to hide documents list count.
* **HideDocumentPaginationTotal** (default `true`): if `true`, hides total when listing documents if the total exceeds the `HideDocumentPaginationTotalTreshold`.

* **HideOrganizationDocumentTotalsTreshold** (default: `10000`): threshold to hide documents total in organization details.
* **HideOrganizationDocumentTotals**: if `true`, hides total document total in organization details if the total exceeds the `HideOrganizationDocumentTotalsTreshold`.

* **HideOrganizationDocumentPaginationTotalsTreshold** (default: `10000`): threshold to hide documents list count in organization administration.
* **HideOrganizationDocumentPaginationTotals**: if `true`, hides total when listing documents in organization administration if the total exceeds the `HideOrganizationDocumentPaginationTotalsTreshold`.

* **HideEventPaginationTotalTreshold** (default: `10000`): threshold to hide events list count.
* **HideEventPaginationTotal** (default `true`): if `true`, hides total when listing events if the total exceeds the `HideEventPaginationTotalTreshold`.

* **HideOrganizationContactTotalsThreshold** (default: `10000`, v2.12.0): threshold to hide the count of the organization contacts list.
* **HideOrganizationContactPaginationTotals** (default: `true`, v2.12.0): if `true`, hides total when listing organization contacts if the total exceeds the `HideOrganizationContactTotalsThreshold`.

* **HideReceiptPaginationTotalTreshold** (default: `10000`, v2.16.0): threshold to hide the count of the invoice receipts list.
* **HideReceiptPaginationTotal** (default: `true`, v2.16.0): if `true`, hides total when listing invoice receipts if the total exceeds the `HideReceiptPaginationTotalTreshold`.

###  *Throttling* Settings

Under section **Throttling**:

* **EnableSensitiveDataLogging**: if `true`, logs sensitive information about throttled requests such as IP address.
* **DocumentKeyThrottling**: defines the parameters for document key query throttling. See `Throttling Parameters` below. It is enabled by default with limit `10` and interval `1`.

###  *Throttling Parameters* Settings

Defines the following properties:

* **Enabled**: if `true`, enables this type of throttling.
* **IntervalInSeconds**: the interval in seconds during which throttlable operations will be assessed.
* **Limit**: the maximum number of operations that can be executed before throttling is applied.

###  *RateLimiter* Settings (v2.7.0)

Defines the per-IP rate limiting of two public endpoints:

* `GET /api/documents/multi/{ticket}`: the information of the public multi-document page, opened from the email links.
* `GET /api/documents/keys/{key}/signature/ticket`: the exchange of the access code for a ticket in the [document access validation](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#document-access-validation).

The limit uses a fixed window and has no queue. A request over the limit gets the `503` status code.

Under section **RateLimiter**:

* **PermitLimit**: the maximum number of requests from the same IP in each window.
* **WindowDurationInSeconds**: the duration of the window, in seconds.

> **Warning**
>
> Set `PermitLimit` and `WindowDurationInSeconds` to values greater than zero. The application does not use the defaults of the configuration class. If either setting is missing, its value is `0`, .NET rejects the limiter and requests to the two endpoints above fail. Example: `RateLimiter__PermitLimit=5` and `RateLimiter__WindowDurationInSeconds=1`.

###  *Trust Arbitrator* Settings

> **Tip**
>
> For a step-by-step guide with examples, see [TrustArbitrator](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/trust-arbitrator).

Trust arbitrator settings allows configuration of which digital certificates are accepted by the application. This is done by defining a JSON with the following format:

```json
{
  "Version": "2019-05-09",
  "TrustedRoots": [],
  "StandardPkis": []
}
```

* **Version**: format version. Available options are `2019-05-09` or `2022-07-21`. The latter also accepts the `IntermediateCAs` property.
* **StandardPkis**: list of standard PKIs. Available options are `Brazil`, `Italy`, `Peru`, `System`, `ENotariado` and `RegistroCivil`. `System` accepts the roots trusted by the server's operating system.
* **TrustedRoots**: list of root certificates in Base64 format.
* **IntermediateCAs** (only with version `2022-07-21`): list of intermediate CA certificates in Base64 format. Useful when signers' certificates do not provide the information needed to
download the intermediate CAs of the chain. These certificates are not trusted by themselves: the chain must still end in an accepted root.

Under section **TrustArbitrator**:

* **Type** (default: arbitrator that accepts Brazilian PKI): defines from where the system will retrieve the Trust arbitrator JSON. Available options are `AppSetting` or `BlobStorage`.
* **Content**: must be set if `AppSetting` is selected. The Trust arbitrator JSON content. If this setting is being set in a JSON configuration file, keep in mind that the double quotes
need to be escaped. Example:
	```json
	"Content": "{ \"Version\": \"2019-05-09\", \"StandardPkis\": [ \"Brazil\" ] }"
	```
* **BlobName**: must be set if `BlobStorage` is selected. The name of the file containing the Trust arbitrator JSON content stored in the Blob Storage. Example: `"BlobName": "my-arbitrator.json"`.
* **BlobFolderName** (default: `trustarbitrators`): The blob folder of the file containing the Trust arbitrator JSON content stored in the Blob Storage. Only relevant if `BlobStorage` is selected.

###  *ValidationWarmup* Settings (v1.68.0)

At startup, Signer can validate some certificates in the background. This loads the CRLs of these certificates' chains before the first signature or validation. It is useful when the CRLs are large.

Under section **ValidationWarmup**:

* **Certificates**: list of certificates in Base64 format. Example (environment variables): `ValidationWarmup__Certificates__0=MIIG...`.

###  *Security Headers* Settings (v2.1.0)

Under section **SecurityHeaders**:

* **Default__Enabled**: if `true`, enables the use of security headers.

###  *Bindings* Settings

Under section **Bindings**, the reverse proxy settings. The other settings of this section (`HttpsMode` and `SslPort`) are in the installation guides, for example in [Installation on Ubuntu](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/linux/install-ubuntu).

* **UseReverseProxy**: set to `true` if Signer runs behind a reverse proxy or a load balancer. When enabled, Signer accepts the `X-Forwarded-For` and `X-Forwarded-Proto` headers from any proxy address.
* **AcceptForwardedHostHeader** (default: `false`, v1.69.1): if `true`, Signer also accepts the `X-Forwarded-Host` header. Enable it only if the proxy always overwrites this header.
* **ReverseProxyForwardLimit** (v1.69.1): the maximum number of proxies read from the `X-Forwarded-*` headers. If not set, the ASP.NET Core default applies, which is `1`. Increase it if there is more than one proxy in a chain (for example, a load balancer in front of nginx).
* **DangerousDisableReverseProxyForwardLimit** (default: `false`, v1.69.1): if `true`, removes the proxy limit. A client can then include fake addresses in the `X-Forwarded-For` header.

The last three settings only take effect when `UseReverseProxy` is `true`.

###  *Terms Of Use* Settings (v2.3.0)

Under section **TermsOfUse**:

* **SendTermsOfUseUpdateOnlyToSubscriptionUsers**: if `true`, restricts the sending of updates to terms of use to subscription users.
* **ProcessingDelayInMinutes** (default: `20`): defines the interval minutes that will be awaited between terms of use notifications.
* **MaxItemsRetrievedFromDatabase** (default: `10000`): defines the maximum number of users retrieved from the database in order to notify about changes to terms of use.

###  *SigningTags* Settings

Under section **SigningTags**:

* **PageHeight**:
* **PageWidth**:
* **PageMarginTop**:
* **PageMarginRight**:
* **PageMarginBottom**:
* **PageMarginLeft**:

###  *Amplia* Settings

Under section **Amplia**:

* **EndpointUrl**:
* **ApiKey**:
* **EnableAttributeCertificate**:
* **KeyStore**: The default value is `Database`.

###  *Hsm* Settings

Under section **Hsm**:

* **Enabled**:
* **EnableLocalCA**: if `true`, allows the users to issue test certificates using the local Amplia Service.
* **ImageUrl**:
* **Name**:
* **Type**:
* **DinamoPocket**: subsection:

####  *DinamoPocket* Settings
* **Address**: subsection:
* **MasterUser**: subsection:
* **MasterPassword**: subsection:

###  *Timestamper* Settings

Under section **Timestamper**:

* **Enabled**: if `true`, timestamps will be added to signatures.
* **Url**: the URL of the timestamper.
* **Type** (default `BearerToken`, v1.28.0): defines the type of authentication used to connect to the timestamper. Available options are `BearerToken`, `BasicAuthentication` (deprecated as of v1.43.0) and `BasicAuthenticationV2` (v1.43.0).
* **BearerToken**: if type is `BearerToken`, defines the bearer token value for authentication.
* **Username** (v1.28.0): if type is `BasicAuthentication` or `BasicAuthenticationV2`, defines the username value for authentication.
* **Password** (v1.28.0): if type is `BasicAuthentication` or `BasicAuthenticationV2`, defines the password value for authentication.
* **MaxAutoRetryCount** (default: `3`, v1.30.0): the number of retries that will be made if a timestamp cannot be obtained in the first try.
* **RetryDelayInMilliseconds** (default: `1500`): the delay in miliseconds to wait between timestamp retries.
* **Organization** (v2.22.0): controls how organization admins may manage the per-organization Time Stamp setting:
	* **EnabledByDefault** (default: `true`, v2.22.0): the value used for an organization's Time Stamp setting when it has no explicit override of its own.
	* **DisableSettingsByNonInstanceAdmin** (default: `false`, v2.22.0): when `true`, only instance sysadmins may change (or reset) an organization's Time Stamp setting; the section is hidden from organization admins and any attempt to change it through the API is rejected with `403 Forbidden`.

###  *Notarize* Settings

Under section **Notarize**:

* **Enabled**:
* **Notaries**: list of subsections:

####  *NotaryConfig* Settings
* **Type**: the notary type. The options are `CNB`, `CORI` and `ONR`.
* **ApplicationKey**: the API key of the application in the notary's Signer.
* **EndpointUrl**: the URL of the notary's Signer. For `CORI` and `ONR`, the default is the official service URL (`https://assinador.registrodeimoveis.org.br` and `https://assinador.onr.org.br`).

###  *Authenticator* Settings

Under section **Authenticator**:

* **HashAlgorithm**:
* **NumberOfDigits**:
* **PeriodInSeconds**:
* **TokenAuthTimeValidationEnabled**:
* **TokenAuthTimeValidation**:

###  *Scanner* Settings

Under section **Scanner**:

* **Disabled**: if `true`, disables Scanner integration.
* **Endpoint**: the Scanner endpoint.
* **ApiKey**: a Scanner API Key. To enable validation of documents from all subscriptions of Scanner, you must provide a key with Root Admin privileges and set the `SubscriptionId` parameter.
* **SubscriptionId** (optional): should only be set if the `ApiKey` is a Root key. Defines the subscription to which scanned documents will be associated.
* **InputType** (default: 'Scan', v1.37.0): defines allowed input options. Available options are `Scan`, `FileUpload` and `ScanOrFileUpload`.
* **MetadataInputEnabled** (default: `true`, v1.37.0): if `true` the scanning user will need to provide metadata information.
* **MetadataPresets** (optional, v1.37.0): subsection as defined below:
	* **DocumentType**: defines the document type metada information so the scanning user does not have provide it while filling metadata.
	* **DocumentTypeIsReadonly**: if `true` the scanning user won't be able to change the document type.

###  *Google Tag Manager* Settings (v1.50.0)

Under section **GoogleTagManager**:

* **Id**: the tag manager ID. Must be provided in order to use tag manager.
* **Auth**
* **Preview**
* **ResourcePath**
* **CspNonce**

###  *Document Access Validation* Settings (v2.7.0)

Under section **DocumentAccessValidation**:

* **Enabled**: if `true`, document access validation is enabled. When enabled, users will be able to select a validation type when creating a document and users will need to perform the selected validation in order to access the document in the public validation area.
* **RequireForEveryDocumentAccess**: if `true`, all documents will require validation, even if the creator of the document did not select any validation type when creating the document or if a document was created before this setting was enabled. If `false`, only documents that have a validation type selected when they were created will require validation.
* **DefaultValidationType** (default: `UserIdentifier`): this is the validation type used for documents that do not have an explictly selected validation type when `RequireForEveryDocumentAccess` is `true`. The accepted values are the types in the list below, except `None`.

The validation types are:

* `UserIdentifier`: the user enters the identifier (for example, the CPF) of one of the document's signers or approvers.
* `Login` (v2.21.0): the user must sign in to Signer. Any signed-in user has access.
* `ParticipateInOrganization` (v2.21.0): the user must sign in to Signer and participate in the document's organization, with any role.
* `HasAccessToDocument` (v2.21.0): the user must sign in to Signer and have access to the document in the private area (for example, as a participant or through folder access), or be the document creator and participate in the organization.
* `None` (v2.21.0): the document requires no validation, even when `RequireForEveryDocumentAccess` is `true`.

For the `ParticipateInOrganization` and `HasAccessToDocument` types, the organization owner and the users allowed to view the organization's documents always have access.

In the API, each document's type is in the `accessValidationType` field, when creating the document and when updating the document information. On update, if the field is not sent, the current type does not change. To remove the validation from a document, send `None`.

###  *IdRC* Settings (v2.8.0)

These settings are for integration with the Registro Civil signature service (IdRC). Under section **Idrc**:

* **Enabled**: if `true`, enables the integration with the Registro Civil signature service (IdRC). This is required in order to allow users to use IdRC as an option in the security context trusted roots.
* **Homologation**: if `true`, enables homologation (testing) mode for IdRC integration. This will include the homologation certificate roots as trusted roots when the user adds IdRC to the security context.
* **IdrcServerBaseUrl**: the base URL of the IdRC server to use.
* **IdrcServerApiKey**: the API key provided by IdRC.
* **IdrcServerClientSecret**: the client secret agreed with IdRC.
* **IdrcServerClientId**: the client ID agreed with IdRC.
* **AccessTokenExpirationSeconds** (default: `60`): validity, in seconds, of the access token Signer generates for the signing session with IdRC.

###  *IdentifierScope* Settings (v2.11.0)

After version 2.11.0, it is now possible to configure an instance to use more than one identifier type. Still it is needed to have a main identifier type that will be used when no type is specified and to define the uniqueness behavior of each identifier type. These settings are defined in the **IdentifierScope** section. To understand how Signer uses identifiers, see [Participant identification](https://docs.lacunasoftware.com/en-us/articles/signer/concepts/participant-identification).

Since version 2.18.0, when using multiple identifier types the mode of each type is respected: a type whose mode is not Nullable or NullableUnique is required whenever that type is selected for a user. To require that a user has at least one identifier of any allowed type, use the `RequireAtLeastOneIdentifier` setting.

Under section **IdentifierScope**:

* **EnableMultipleIdentifiersPerUser**: if `true`, allows users to have more than one identifier (e.g. CPF and a Paraguayan identifier simultaneously).
* **AllowedIdentifierTypes**: comma-separated list of allowed identifier types. Example: `Cpf,EcuadorBceId`. When set, only the listed types will be accepted. Types supported: `Cpf`, `EcuadorBceId`, `ParaguayCedulaIdentidad`, `ParaguayRuc`, `ParaguayPassport` and `Passport` (v2.20.0), plus `Ssn`, `Itin` and `Ein` (v3.0.0).
* **DefaultIdentifierType**: the default identifier type used when no type is explicitly specified. Replaces the deprecated `General.IdentifierType` setting. Must be a valid identifier type included in the `AllowedIdentifierTypes` setting. Example: `Cpf`.
* **IdentifierModes**: comma-separated list of `IdentifierType=Mode` pairs defining the uniqueness behavior for each identifier type. Replaces the deprecated `General.CountryIdentifierMode` setting. Available modes are `Unique`, `NonUnique`, `Nullable` and `NullableUnique`. Example: `Cpf=Nullable,EcuadorBceId=NullableUnique`. **If `EnableMultipleIdentifiersPerUser` is `true`, this setting must be defined for all identifier types included in `AllowedIdentifierTypes`.** Since version 2.18.0, types with a non-nullable mode are allowed when multiple identifiers are enabled: the identifier value becomes required whenever that type is selected.
* **RequireAtLeastOneIdentifier** (default: `false`, v2.18.0): if `true`, every user must have at least one identifier of an allowed type, even when all identifier modes are nullable. Identifiers of types that are no longer listed in `AllowedIdentifierTypes` do not satisfy this rule. Can only be used when `EnableMultipleIdentifiersPerUser` is `true` — otherwise the application fails to start.
* **DisableGrantIdIdentifierSync** (v2.11.1, default: `false`): if `true`, disables the synchronization of identifiers with GrantId. This is specially useful when using multiple identifier types, as GrantId only supports one identifier per user.
* **DisableSyncIdentifiersJob** (v2.13.2, default: `false`): if `true`, disables the background job that periodically synchronizes user identifiers. Useful when the synchronization job causes conflicts or is not needed in the deployment.

### *Contacts* Settings (v2.12.0)

Under section **Contacts**:

* **Disabled** (default: `false`): if `true`, disables the external contact list feature entirely.

### *AdvancedSearch* Settings (v2.12.0)

Under section **AdvancedSearch**:

* **Disabled** (default: `false`): if `true`, disables the advanced participant search feature.
* **AllowIncludeContacts** (default: `true`): if `false`, removes the option that allows users to choose whether to include contacts in search results.
* **DefaultIncludeContacts** (default: `true`): defines whether contacts are included in search results by default.
* **AllowIncludeExternalUsers** (default: `false`): if `true`, shows the option that allows users to choose whether to include external users in search results.
* **DefaultIncludeExternalUsers** (default: `false`): defines whether external users are included in search results by default.

### *RestPki* Settings (v2.13.0)

Under section **RestPki** (previously **FaceTec** — the old section name is still accepted for backward compatibility):

* **Endpoint**: the RestPki service endpoint URL.
* **ApiKey**: the API key for the RestPki service.

Required when `EnableLivenessAuthentication` or `EnableIdScanAuthentication` is set to `true` in the `ElectronicSignature` section.

### *Pdf* Settings (v2.14.0)

Under section **Pdf**:

* **PdfAConversionEnabled** (default: `false`, v2.14.0): if `true`, enables conversion of documents to PDF/A.
* **DefaultPdfAProfile** (default: `PdfA2b`, v2.14.0): the default PDF/A profile used when converting documents. Available options are: `PdfA1a`, `PdfA1b`, `PdfA2a`, `PdfA2b`, `PdfA3a` and `PdfA3b`.
* **PdfService**: this is a subsection that defines the connection to the Lacuna PDF Service used to perform PDF/A conversion. Required when `PdfAConversionEnabled` is `true`:
	* **Endpoint**: the PDF Service endpoint URL.
	* **ApiKey**: the API key for the PDF Service.

### *DocumentDownload* Settings (v2.16.1)

Under section **DocumentDownload**. These settings were previously under the **General** section, which is now obsolete for these keys — the old General keys are still honored as a fallback when the corresponding `DocumentDownload` key is not set:

* **EnableSignatureMarksDownload** (default: `false`): if `true`, enables the user to download the signature marks version of a document.
* **EnableSigningTagsDownload** (default: `true`): if `true`, enables the user to download the signing tags version of a document.
* **EnablePrinterFriendlyDownload** (default: `true`): if `true`, enables the user to download the printer friendly version of a document.
* **EnableRefusedDocumentDownload** (default: `false`, v2.16.1): if `false`, blocks downloading a document after it has been refused, preventing refused documents from circulating as if they were valid and signed. Set to `true` to allow downloads of refused documents.
* **CanceledWatermarkText**: the text of the watermark added to canceled documents on download.
* **ExpiredWatermarkText**: the text of the watermark added to expired documents on download.
* **RefusedWatermarkText** (v2.16.1): the text of the watermark added to refused documents on download.

### *DigitalSignature* Settings (v3.0.0)

Under section **DigitalSignature**:

* **CollectEvidences** (default: `false`, v3.0.0): if `true`, collects the evidences (IP address and geolocation) of signatures made with a certificate.
* **IsGeolocationRequired** (default: `false`, v3.0.0): if `true`, requires the geolocation on signatures made with a certificate. Only applies when `CollectEvidences` is enabled.

### *ClickwrapConsent* Settings (v3.0.0)

Under section **ClickwrapConsent**, which controls the clickwrap consent required from the signer before signing:

* **EnabledForElectronicSignature** (default: `false`, v3.0.0): if `true`, requires consent on electronic signatures (Simple and Advanced documents).
* **EnabledForCertificateSignature** (default: `false`, v3.0.0): if `true`, requires consent on signatures made with a certificate (Advanced and Qualified documents).

### *Legal* Settings (v3.0.0)

Under section **Legal**:

* **EnablePages** (default: `false`, v3.0.0): if `true`, enables the public pages with the Terms of Use and the Privacy and Cookies policies.
* **EnableCookieConsent** (default: `false`, v3.0.0): if `true`, shows the cookie consent banner. Tags configured in [GoogleTagManager](https://docs.lacunasoftware.com/en-us/articles/signer/on-premises/settings#google-tag-manager-settings-v1500) are only loaded after consent.
* **ConsentVersion** (default: `1`, v3.0.0): cookie policy version. Change it whenever the policy or the categories change, so the banner asks again.
* **TrackingExcludedPaths** (v3.0.0): SPA path prefixes where analytics and marketing tags never run, regardless of consent. The default covers the signer screens (`/document/key/`, `/review-and-sign`, `/public/batch`, `/form/`, `/health-document/` and `/idrc-callback`). Embedded routes are always excluded.

### *WorkingFile* Settings (v3.0.0)

Under section **WorkingFile**, which controls how files are handled in memory and on disk:

* **MemoryThresholdInBytes** (default: `2097152`, v3.0.0): content up to this size is held in pooled memory; anything larger spills to a temp file.
* **MaxTotalScratchBytes** (default: `2147483648`, v3.0.0): ceiling for the combined size of live temp files in the process. Past it, the operation fails with `WorkingFileStorageLimitExceeded`. Size it per App Service plan, since every app on the plan shares the same disk.
* **ScratchSubdirectory** (default: `signer-working`, v3.0.0): subdirectory for temp files, swept on startup.
* **PreferredScratchRoot** (v3.0.0): directory preferred over the OS temp path when it exists (for example `/appsvctmp` on Linux App Service). Ignored when absent.
* **PoolBlockSizeInBytes** (default: `131072`, v3.0.0): pool block size.
* **PoolLargeBufferMultipleInBytes** (default: `1048576`, v3.0.0): granularity of the large contiguous buffers.
* **PoolMaximumBufferSizeInBytes** (default: `134217728`, v3.0.0): largest contiguous buffer the pool serves.
* **PoolMaximumSmallFreeBytes** (default: `16777216`, v3.0.0): most idle memory kept in the block pool.
* **PoolMaximumLargeFreeBytes** (default: `33554432`, v3.0.0): most idle memory kept in the large-buffer pool.
* **StatsLogIntervalInMinutes** (default: `5`, v3.0.0): interval of the statistics log. Zero disables it.

### *Cloudhub* Settings (v3.0.0)

Under section **Cloudhub**, read by the Cloudhub SDK, which enables Cloudhub cloud certificates in the signature flow:

* **Endpoint**: the Cloudhub service URL.
* **ApiKey**: the API key for the Cloudhub service.
