Config Params

This page is currently only available in English

Parameters

The following sections and parameters are used in the configuration file.

System

debug: false # show debug messages / output in console / terminal
tofile: false # save log to file (per startup)
filename: ./logs/log.txt # filename / base filename
loglevel: 5 # Verbose = 0 | Debug = 1 | Info = 2 | Warning = 3 | Error = 4 | Off = 5
sourceinfo: false # show source info in log information

Mrz

autocleanparts: true # clean raw parts to values by removing and replacing fillers
usecorrector: false # use mrz corrector for parts that can be corrected
ignorefillerchecksnonzero: true # ignore checks for fillers
allowexperimentalparsers: true # allow experimental parsers such as vehicle registration or newer non standard mrz
addextendedinfo: true # add extended info such as nice named and readable parsed / sub-parsed fields and their values
addchecksinfo: true # add info regarding checks based on the data such as check digits / expiration / age
agetop: 18 # top border for age check
agebottom: 16 # bottom border for age check
translateids: false # translate field / part / value is to nicer names instead of ids .. (no use yet)
outputformat: TEXT # TEXT, JSON, XML (will be overridden by output items)

Serial

serial:
  preferredportname: "" # example: /dev/ttyUSB0  or COM4 (empty  = autodetect)
  preferredvidpid: "" # example: 0403:6001 (empty = autodetect)
  properties:
    baudrate: 115200 # 9600, 19200, 38400, 57600
    databits: 8 # 7, 8
    stopbits: 0 # 0 = 1, 1 = 1.5, 2 = 2
    parity: 2 # 0 = none, 1 = odd, 2 = even, 3 = mark, 4 = space
    timeout: 0s # 0s = no timeout

IO Modules

iomodules:
  enabled: false # enable iomodules usage
  baseactions: # base actions are the template for actions that can be used in the action list, they are not directly used but define the possible actions and their information
    - id: ageok # unique id for this base action
      title: Age OK # title for this base action
      description: Indicates that the age is above the specified threshold # description for this base action
    - id: agebetween
      title: Age Between
      description: Indicates that the age is between the specified thresholds
    - id: agefail
      title: Age Fail
      description: Indicates that the age is below the specified threshold
    - id: overallok
      title: Overall OK
      description: Indicates that all checks have passed successfully
    - id: overallfail
      title: Overall Fail
      description: Indicates that one or more checks have failed
  actions: # actions are the actual actions that will be executed based on the base action template and the channel and switch type defined here
    - baseactionid: ageok
      channel: 1 # channel to switch (1-4)
      enabled: true # enable or disable this action
      switchtype: 2 # 0 = off, 1 = on, 2 = pulse
      pulseduration: 1000 # duration of pulse in ms (only used if switchtype is pulse)
    - baseactionid: agebetween
      channel: 2
      enabled: true
      switchtype: 2
      pulseduration: 1000
    - baseactionid: agefail
      channel: 3
      enabled: true
      switchtype: 2
      pulseduration: 1000

Output

output:
  enabled: false
  outputitems: # one or more output items (currently 'File' / 'URL'  are supported)
    - name: File # sample file output item
      format: TEXT # TEXT, JSON, XML
      config:
        file_name: <time>-<doccode>-<issuer> # template for naming output files valid placeholders are: <time>, <doccode>, <docnum>, <issuer>, <name_first>, <name_last>
        file_path: ./ # output folder
    - name: URL # sample url output item
      format: JSON # TEXT, JSON, XML
      config:
        url: https://localhost # url to post data to

Server

enabled: true # enable http server for web based live info
port: 8080 # port (wil increase if needed)
rootfolder: ./www # root folder where to serve html from
autoopen: true # open browser on start
wscors:
  enabled: true # enable websocket cors (please check your network / local network settings) can be disabled in a safe local network if needed
  trustedorigins: # list of trusted origins to allow connection from
    - http://localhost:8080
httpcors:
  enabled: true # enable http cors (please check your network / local network settings) can be disabled in a safe local network if needed
  trustedorigins: # list of trusted origins to allow connection from
    - localhost
    - 127.0.0.1

NFC

enabled: true # enable nfc reading
inittimeout: 500 # initialization timeout in ms between context <timeout> open <timeout> contact
dumpraw: false # dump raw nfc lds files
dumprawfolder: ./rawnfcfiles # folder to store raw nfc lds files
readphoto: true # read photo (emrtd dg2 / edl dg6)
apdulog: false # enable apdu logging (slow, debug only)
apdulogfile: ./apdu.log.json # apdu log file name
loadspecimencsca: false # load csca certificates for specimen verification (do not use in production)
reading: # nfc reading mode options
  smartagemode: false # use smart age mode (will stop reading when age is available)
  accessmode: secure # secure = Most Secure Reading mode, fast = Fastest Reading mode
images:
  convertjp2: true # convert jp2/j2k to jpg using imagemagick if available on system (https://imagemagick.org/script/download.php)
  quality: 75 # jpeg output quality
output: # output items that are pre processed , disable is not needed by your application
  simpledatalist: true # output simple data list items that are preselected
  simpleimagelist: true # output simple image list of basic images
  fullinfo: false # output full info for entire document and all DG info possible .. (lot of extra data / slower)
  parsedlist: true # output parsed data list items
skipparts: # skip specific authentication steps during nfc reading (speeds up reading at the cost of security guarantees)
  skippa: false # skip passive authentication
  skipaa: false # skip active authentication
  skipca: false # skip chip authentication
  skippace: false # skip pace protocol authentication

Custom Fields

add custom fields to output (can be whatever and how much you want)

scannerid: 123456789
location: Harderwijk
country: NLD