All Collections
On Premise Engine
Configuration Options for On Premise Engine
Configuration Options for On Premise Engine
Updated over a week ago

These settings can either be in the appsettings.json file or place in environment variables.

  • instance - ID of this instance of the on premise engine. Useful for the SigParser team to differentiate logs if you're pushing them to SigParser or if you are running multiple instances. Should generally be some version of your company name.

  • exporter - Determines where the data is sent to.

    • Default value is "SigParserApiExporter".

    • Other options: SqlServerV1

  • emailprovider - Verify that this entry is set to “Office365” or "Exchange". Be sure there isn’t a space and the case matches.

  • salt - A random value used to secure OAuth requests when using the old authentication mechanism. You should randomize this value.

  • websiteurl - Copy the websiteurl entry from the OnPremAdminTool configuration file. It should be like “http://localhost:5000” and shouldn’t include a slash at the end.

  • historyfolderpath - Full path to a directory that will contain the history files for this instance of EmailFetcher (1 history file = 1 mailbox). Please ensure that EmailFetcher has write permissions into this directory.

  • allowed_patterns - (default: *) Comma separated. Configure a comma separated list of domain names that are only allowed to be processed. A * means all are allowed.

  • allowlistfilepath - (optional) full path to a text file that contains all of the allowed domains

    • Specify each domain on its own line

    • Wildcards are not allowed, but subdomains are supported

  • deny_patterns - Comma separated. A collection of domain names that will be treated as internal. If all the recipients on an email or meeting match these domains they're excluded.

  • denylistfilepath- A collection of domain names that will be treated as internal. If all the recipients on an email or meeting match these domains they're excluded.

    • Specify each domain on its own line

    • An empty deny list means that all allowed domains will be processed

  • historydaystoprocess - number of days to go back for processing emails & calendar events

  • sendsubjectlines - true or false. Should subject lines and attachment names for emails and meetings be sent to the SigParser cloud environment. If not specified it defaults to false.

  • instead of in Azure Storage.

  • office365_client_timeout - Optional. Set if you are experiencing timeout errors. This will change the timeout for Office 365 Graph API requests to whatever value you set. The default if not set is 100 seconds. This number is in seconds.

  • subjectlinetypes - Optional. If sendsubjectlines is true this determines which types of subject lines should be sent over. Possible values are “All”, “Emails”, and “Meetings”, casing matters. If “Emails” is set then attachment names will also be sent.

  • use_legacy_email_dates_before - This fixes a bug with how dates were handled prior to a specific date. New deployments can set this to "2000-01-01" but customers upgrading to a release after 8/1/2022 should set this value to the day they deployed the upgrade.

  • has_hyperthreading_cores - true or false. Tells SigParser if the cores support hyperthreading. If this is set incorrectly this will result in worse performance. An easy way to tell is by looking at the Task Manager and if you see there are twice as many Logical Processors as Cores then you should set this to true. If not set it to false.

  • concurrent_exporter_request_limit (do not use)- Number of API requests to have open concurrently.

  • max_mailbox_concurrency (do not use) - Controls how many mailbox threads run at a time. Each thread needs about 2GBs of RAM although as more mailboxes threads are added this can approach 1GB of RAM.

  • mailboxlistfile - Only needed for Exchange Delegated connection and Office 365 Delegated connection types. This can optionally be provided via the command line arguments. This is the filepath to the text file. Each line should have an email address.


If not using the log4net.config file then you can configure logging via Environment variables.

  • CONSOLE_LOGGING_FORMAT - Default: Pretty - Options: Pretty or JSON

  • AWS_LOGGING_REGION - Region to log to in AWS. This is likely us-west-2 if in the US.

  • AWS_LOGGING_BUCKET - Name of the bucket to log to. This doesn't have to be set since the default should work but can be if it needs to be overridden.


The On Premise engine will store emails and meetings it fails to send to the API endpoint to be retried later. A small amount of storage is needed.

Local Storage (Recommended)

  • sigparserstoragefolderpath - File path for where to store the files.

    • Example value: "C:\\sigparser\\storage\\"

Azure Storage

We don't suggest this option to customers anymore because it requires so much extra setup and is prone to misconfigurations.

  • azurestoragesharename - Name of the Azure storage share where files can be placed.


Secrets can be stored in Azure Secrets manager or in a JSON file on the local machine. They can also be placed in Environment Variables which is required for containerized deployments.

Local File

  • secretsfilepath - Path to a secrets json file on the server.

    • Example: "C:\\sigparser\\secrets.json"


  • vaulturl - URL to the Azure Vault where the secrets are stored.

Exporter Specific Configuration Options


  • sigparserapiurl - the base URL for the SigParser API like

  • store_email_signature_examples - Boolean. Should email signatures be transmitted to SigParser's cloud application.

  • skip_already_ingested_emails (true/false) - If you want to skip already ingested emails then we have to check the database to see if the email has already been ingested but it is generally faster to check the database than reparse the email. Toggling this to false is useful if you want to force the on premise engine to re-parse all the emails again.


See the documentation page for this exporter for the options.

Did this answer your question?