1. Contact

Contact

To learn more about Intella Investigator™, please contact us using the contact information below, or contact an Intella Channel Partner.

Vound

Office Phone
+1 888-291-7201

Postal Address
10643 N Frank Lloyd Wright Blvd, Suite 101 Scottsdale, AZ 85259 U.S.A.

We will be pleased to provide additional information concerning Intella Investigator and schedule a demonstration at your convenience.

To become an Intella Investigator reseller, please contact us!

For user and technical support please visit our website: http://www.vound-software.com.

Vound Colorado (“Vound”).

© 2024 Vound. All rights reserved.

The information in this User Manual is subject to change without notice. Every effort has been made to ensure that the information in this manual is accurate. Vound is not responsible for printing or clerical errors.

VOUND PROVIDES THIS DOCUMENT “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED AND SHALL NOT BE LIABLE FOR TECHNICAL OR EDITORIAL ERRORS OR OMISSIONS CONTAINED HEREIN; NOR FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES RESULTING FROM THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL.

Other company and product names mentioned herein are trademarks of their respective companies. It is the responsibility of the user to comply with all applicable copyright laws. Mention of third-party products is for informational purposes only and constitutes neither an endorsement nor a recommendation. Vound assumes no responsibility with regard to the performance or use of these products. Under the copyright laws, this manual may not be copied, in whole or in part, without the written consent of Vound. Your rights to the software are governed by the accompanying software license agreement. The Vound logo is a trademark of Vound. Use of the Vound logo for commercial purposes without the prior written consent of Vound may constitute trademark infringement and unfair competition in violation of federal and state laws.

All rights reserved by Vound. Intella and Intella Investigator are trademarks of Vound.

2. An introduction to Intella Investigator

Intella Investigator is a web-based investigation tool. It is ideally suited for use by enterprise, law enforcement and regulatory agencies in civil, criminal or policy-related investigations. It allows you to share any case that has been made with Intella 100, Intella 250, Intella Professional (Pro). The case can then be reviewed using any of the supported web browsers.

Cases can also be created directly in Intella Investigator and its sources can be indexed using Intella Node. If a case already exists, it is however not required to have Intella Node in order to share such case.

Intella Investigator’s unique visual presentation will let you quickly and easily search and review email and electronically stored information to find critical evidence and visualize relevant relationships. The birds-eye view helps you gain insight in information that is available on combinations of keywords. In each step of your search it shows the number of emails or files that match your search (and of course a link to the e-mails and files themselves) so that you can effectively zoom in to find what you are looking for.

With Intella Investigator, you can…​

  • Gain deeper insight through visualizations.

  • Search email, attachments, archives, headers, and metadata.

  • Drill deeply into the data using Intella Investigator’s unique facets.

  • Group and trace email conversations.

  • Preview, cull, and deduplicate email and data.

  • Export results.

2.1. Supported web browsers

  • Google Chrome (most recent version)

  • Mozilla Firefox (most recent version)

  • Microsoft Edge

As Microsoft has officially announced ending support for Internet Explorer, we are no longer supporting it as well.

Users will be automatically logged out from Intella Investigator after 30 minutes of inactivity.

2.2. Intella Investigator Case sharing limitations

Case sharing is the ability to share across the network a set of evidence files that have been processed using Intella or Intella Node into a case file. That case file is then shared and utilized by a number of assigned reviewers, paralegals, litigation support specialists or investigators using the Intella Investigator case sharing feature.

Active cases

The supported number of concurrently active cases that Intella Investigator can share should be no more than two at any given time. The definition of an active case is one that is shared with a reviewer logged in or reviewing that case (occupying a seat). A case that is shared but does not have any active reviewers logged in does not count towards the two cases. Intella Investigator administrators needing to have more active cases at any one time have two options:

  • They can purchase a second Intella Investigator license and set up another dedicated server for it.

  • They can contact their designated sales representative to see if another kind of active case limit upgrade is available.

In addition, if a second Intella Investigator license and server is implemented, administrators can take advantage of the "Intella Investigator Grid" feature to supply their reviewers with unified access to all cases shared by the servers forming the grid.

When the count of active cases is approaching the limit, administrators of Intella Investigator will get notified about this by an appropriate warning message rendered throughout the UI.

Once the number of active cases goes beyond that limit, reviewer access to random shared case(s) will be blocked. When this happens, reviewers are presented with a notification asking them to contact case administrator. Admins should then make actions to unshare cases of their choosing until the overall active cases count is back to acceptable limit.

When a case is already opened by an instance of a different Vound product, you will not be able to share it with Intella Investigator at the same time. Only one application can use a case at a time.

Seats

Intella Investigator also enforces a cap on the number of users that can simultaneously participate in a review. This is called Seats. As long as a user is actively reviewing any active case, they are accounted for as occupying one seat. After they stop reviewing their last active case (or logout), the seat comes back to the pool, making room for someone else to take their place. You can learn more about seats in Seats management section.

The maximum number of concurrent reviewers in a single case for which Vound offers support is no more than eight.

License overview

Product # of Active Cases (Hardware Permitting) # of Active Users (Hardware Permitting) # of Seats Viewers

Intella Investigator

*up to 2

up to 4 per case

4

n/a

Note about the performance

Numbers presented above were provided for Intella Investigator server under a regular load. However, there may be situations where cases run more resource-demanding operations, such as:

  • Running Optical Character Recognition

  • Running Content Analysis

  • Running Image Analysis

  • Exporting

  • Generating and pre-generating PDFs

All these operations require extensive CPU, memory and/or disk usage. Since all cases are shared by the same server it may happen that the excessive load they generate may limit the performance of simple review tasks on other cases. Therefore you should make sure to:

  • run any heavy tasks outside of normal review hours (usually overnight)

  • allocate enough hardware resources to meet the extra load

  • adjust your business flows so that multiple cases are not running complex operations on one server at the same time

2.3.1. System Requirements

This section outlines the minimum specs for hardware and software to run Intella Investigator and Intella Node.

Hardware

Intella Node Intella Investigator

CPU

8 cores

8 cores

RAM

64GB+

64GB+

Hard drives in the system

1 for OS

1 for case

1 for evidence

1 for optimization

1 for OS

1 for case

1 for evidence

RAM

We strongly recommend extending servers with more RAM if this is feasible.

SSD disks

The use of SSD disks can further enhance performance.

Software

Intella Node Intella Investigator

Supported Operating Systems

Windows 8.1, 10 and 11, Windows Server 2012-2022

Although our products can be installed on a number of Windows Server products such as Server 2012, 2016 and 2019, our products do not require a server operating system, and they run perfectly well on the listed desktop operating systems. For server installations, we only support our applications. We do not provide support for the server itself. Server security settings may need to be configured, and ports may need to be opened, for our products to operate on a server platform. These settings need to be addressed by your IT team to ensure that security of the system is maintained.

We do not support our products when installed on an operating system deemed end of life by its manufacturer. For example, these would include platforms such as Windows Vista and Windows Server 2008.

Intella Investigator setup options:

Simple setup (Green dotted line in the diagram)

This setup is relatively easy to complete and helps with getting the platform operational in the least amount of time. A simple setup consists of a single computer for your Intella Investigator and Intella Node systems, and a reviewer system. The Intella Investigator and Intella Node applications are installed on the same system with minimum configuration, and you are then basically up and running ready to create and review cases.

Generally, this is for use within a company where security requirements are not high.

The general idea is that Intella Node accesses case and evidence files over a shared folder when indexing. Intella Investigator also accesses case files over a shared folder when sharing. Simply share the folder (using the SMB protocol) on one of them and use that when indexing or sharing cases.

Intermediate setup (Green plus blue dotted lines in the diagram)

An intermediate setup also includes secure access by implementing SSL, and streamlined account management by implementing LDAP.This type of setup is also generally used internally, but when a higher level of security is required.

It is optional to add NAS/SAN storage and have both the Intella Investigator and Intella Node servers to access the files located on the additional storage when indexing or sharing cases. The protocol used depends on the storage solution. In this case, Intella Investigator and Intella Node will again need to access files over a mounted drive or shared folder.

Advanced setup (Green plus blue and orange dotted lines in the diagram)

The advanced setup includes both the simple and intermediate configurations. It goes a step further to include access for remote users. In this setup, SSO and 2FA are implemented for added security. This type of setup is used when you have internal and external users who require access to shared cases.

setup options diagram

Further services can be implemented on the platform to enhance security and ease of use. These services can include the following:

2.4. Supported file formats

Content and metadata of the following file formats can be extracted:

  • Mail formats:

    • Microsoft Outlook PST/OST. Versions: 97, 98, 2000, 2002, 2003, 2007, 2010, 2013, 2016, 2019, 365.

    • Microsoft Outlook Express DBX, MBX. Versions: 4, 5 and 6.

    • Microsoft Outlook for Mac OLM and OLK15* files.

    • Microsoft Exchange EDB files. Versions: 2003, 2007, 2010, 2013, 2016.

    • HCL/IBM Notes NSF (formerly known as Lotus Notes or IBM Lotus Notes). Notes 8.5.x or higher needs to be installed on the computer performing the indexing to process the NSF files. All NSF files are supported that can be processed by the installed HCL/IBM Notes version. Notes 9.0.1FP8 or higher needs to be installed to decrypt messages in a non-encrypted NSF.

    • Mbox (e.g. Thunderbird, Foxmail, Apple Mail)

    • Windows Mail (tested on Windows 10 and 11 - POP accounts).

    • Saved emails (.eml, .msg)

    • Apple Mail (.emlx). Versions: 2 (Yosemite), 3 (El Capitan), 4 (Sierra), 5 (High Sierra), 6 (Mojave), 7 (Catalina), 8 (Big Sur), 9 (Ventura, Monterey), 10 (Sonoma). Testing concentrated mostly on versions 2, 5 to 10.

    • TNEF-encoded files (“winmail.dat” files).

    • Bloomberg XML dumps

  • Cellphone extraction formats:

    • Cellebrite UFED XML export or UFDR file. Tested up to version 7.44.

    • UFDR file made with MOBILedit 7.

    • Micro Systemation XRY XML and Extended XML exports. Tested up to version 7.4.1.
      (Extended XML is strongly recommended)

    • Oxygen Forensic Suite XML export. Tested up to version 13.

    • iTunes backups. iOS versions 8, 9 and 10 backed up with iTunes 12. Other versions may work but have not been tested.

  • Disk image formats:

    • EnCase images (E01, Ex01, L01, Lx01* and S01 files)

    • FTK images (AD1 files), version 3 and 4

    • DMG. Supported compression formats: ADC, LZFSE, ZLIB, BZIP2. Supported compressed image formats: UDCO, UDZO, UDBZ, UDCo. Supported uncompressed image formats: RdWr, Rdxx, UDRO.

    • DD images

    • AFF4 images:

      • AFF4 physical images containing images of the ContiguousImage or Diskimage AFF4 lexicon type.

      • AFF4 logical images:

        • Pre-release 1.0 version.

        • Version 1.1. Supporting all AFF4 lexicon types described in "AFF4-L: A Scalable Open Logical Evidence Container".

        • Version 1.2. Supporting password-based encryption.

    • MacQuisition images (RAW, .00001 files)

    • ISO images (ISO 9660 and UDF formats)

    • VMware images (VMDK files). Supported types are RAW (flat), COWD version 1 (sparse) and VMDK version 1, 2 and 3 (sparse). Not supported are images that use a physical storage device.

    • VHD disk images. Supported type is VHD version 1.

    • BitLocker-encrypted volumes.

    • Volume shadow copies.

    • X-Ways image files (.CTR files)

(*) Lx01 images created with recent EnCase versions may not be supported.
  • Document formats:

    • MS Office: Word, Excel, PowerPoint, Visio, Publisher, OneNote,
      both old (e.g., .doc) and new (.docx) formats, up to MS Office 2019 and Microsoft 365.
      MS OneNote 2007 is not supported.

    • OpenOffice: both OpenDocument and legacy OpenOffice/StarOffice formats

    • Hangul word processor (.hwp files)

    • Corel Office: WordPerfect, Quattro, Presentations

    • MS Works

    • Plain text

    • HTML

    • RTF

    • PDF (incl. entered form data)

    • XPS

  • Archives:

    • Zip. Supported compression methods: deflate, deflate64, bzip2, lzma and ppmd.

    • 7-Zip. Supported compression methods: lzma, lzma2, bzip2 and ppmd.

    • Gzip

    • Bzip2

    • ZipX

    • Tar

    • Rar

    • RPM Package Manager (RPM)

    • Cpio

    • ARJ

    • Cabinet (CAB)

    • DEB

    • XZ

  • Web-browser artifacts:

    • Google Chrome: history, keyword search, typed URLs, cookies, form history, bookmarks, logins, downloads

    • Mozilla Firefox: history, keyword search, typed URLs, cookies, form history, bookmarks, downloads

    • Microsoft Internet Explorer (6-11): history, keyword search, typed URLs, cookies (partial support)

    • Microsoft Edge: history, keyword search, typed URLs

    • Apple Safari: history, bookmarks

  • Search Warrant Results:

    • Hotmail (uses a HTML-based collection of files)

    • Gmail and Yahoo (uses an Mbox variant)

  • Instant Messaging

    • Skype SQLite databases, versions 7.x (stable), 8.x, 11.x, 12.x and 14.x.

    • Slack exports. Both channel exports and user exports are supported.

    • HCL/IBM Notes Sametime chats

    • Pidgin account stores

    • Note that cellphone extraction reports typically also contain instant messaging fragments that may be picked up during indexing.

    • RSMF 1.0.0

    • RSMF 2.0.0

  • Databases

    • SQLite databases, version 3.
      Note that Skype SQLite databases get processed differently.

    • Mac OS property lists (.plist and .bplist files), in ASCII, XML or binary form.

  • Cryptocurrency (detection only):

    • Bitcoin wallets and blockchains

    • Dogecoin wallets and blockchains

    • Litecoin wallets and blockchains

    • Multibit Classic wallets and blockchains

    • Multibit HD wallets and blockchains

  • Miscellaneous formats:

    • iCal

    • vCard

    • XML

    • URL files (Internet shortcuts)

    • HCL/IBM Notes deletion stubs

    • Microsoft Teams conversations as part of PST export (limited indexing of attachments)

The following registry and system artifacts are extracted:

  • System:

    • Installed operating systems. Windows 7, 8, 10 and 11 have been tested.

    • User accounts.

    • User sessions: logon and logoff dates.

    • Windows event log entries. Supported Windows versions: 7, 8.1, 10 and 11.

    • Windows 10 Timeline entries.

  • Programs:

    • Installed programs.

    • Startup programs.

    • Launched programs extracted from User Assist, BAM (Background Activity Moderator), RecentApps registry keys, and Prefetch files.

  • Devices:

    • USB devices.

    • USB device activity extracted from Windows Event Log (connect and disconnect events).

    • Network interfaces.

    • Network profiles including Wi-Fi network names.

  • Files and folders:

    • Recently accessed folders (Shell Bags).

    • Recently accessed files (LNK, Jump Lists and RecentApps registry key).

    • Files and folders deleted to the Recycle Bin.

The following types of encrypted files and items can be decrypted, if the required access keys (passwords, certificates, ID files) are provided in the Key Store:

  • PST/OST

  • NSF (*)

  • PDF

  • DOC

  • XLS

  • PPT

  • OpenXML (.docx, .xlsx, .pptx)

  • PDF

  • ZIP

  • RAR

  • 7-Zip

  • S-MIME-encrypted emails

  • PGP-encrypted emails

  • BitLocker volumes (**)

  • APFS file systems

(*) Encrypted fields of NSF items are only decrypted if the NSF as a whole is encrypted too.

(**) Only BitLocker images using a password, recovery key or recovery file are supported. Other methods, such as smart cards or TPM, are not supported.

Intella will detect Outlook IRM-protected emails (restricted-permission message, rpmsg) in PST, EML and MSG files and mark them as encrypted. Decryption of such emails is not supported yet.

Supported image formats:

Format Type Identification Metadata Extraction Preview & Export to PDF OCR

Adobe Photoshop (PSD)

Apple Icon (ICNS)

Apple PICT

BMP

DjVu

Gif

HEIF/HEIC

Icon (ICO)

Interleaved Bitmap (IFF)

JBIG2

JPEG

JPEG-2000 (JP2)

PCX/DCX (DCX not tested)

PNG

Radiance HDR

SVG

TIFF

WebP

WMF / EMF (partial)

Some HEIC/HEIF types are not supported for preview, export to PDF and OCR.

When indexing plain text file formats, essentially all character encodings supported by the Java 8 platform. This relates to regular text files and to email bodies encoded in plain text format. See https://docs.oracle.com/en/java/javase/11/intl/supported-encodings.html for a complete listing.

When the encoding is not specified, the application will try to heuristically determine the encoding. The following encodings are then supported:

  • UTF-7

  • UTF-8

  • UTF-16BE

  • UTF-16LE

  • UTF-32BE

  • UTF-32LE

  • Shift_JIS Japanese

  • ISO-2022-JP Japanese

  • ISO-2022-CN Simplified Chinese

  • ISO-2022-KR Korean

  • GB18030 Chinese

  • Big5 Traditional Chinese

  • EUC-JP Japanese

  • EUC-KR Korean

  • ISO-8859-1 Danish, Dutch, English, French, German, Italian, Norwegian, Portuguese, Swedish

  • ISO-8859-2 Czech, Hungarian, Polish, Romanian

  • ISO-8859-5 Russian

  • ISO-8859-6 Arabic

  • ISO-8859-7 Greek

  • ISO-8859-8 Hebrew

  • ISO-8859-9 Turkish

  • windows-1250 Czech, Hungarian, Polish, Romanian

  • windows-1251 Russian

  • windows-1252 Danish, Dutch, English, French, German, Italian, Norwegian, Portuguese, Swedish

  • windows-1253 Greek

  • windows-1254 Turkish

  • windows-1255 Hebrew

  • windows-1256 Arabic

  • KOI8-R Russian

  • IBM420 Arabic

  • IBM424 Hebrew

Several file formats are processed by applying heuristic string extraction algorithms, rather than proper parsing and interpretation of the binary contents of the file. This is due to a lack of proper libraries for interpreting these file formats. Experiments with these heuristic algorithms have shown that their output is still useful for indexing and full-text search. It typically will produce a lot of extra gibberish data, visible in the Previewer, and there is no guarantee that the extracted text is complete and correct. The affected formats are:

  • Corel Office: WordPerfect, Quattro, Presentations

  • Harvard Graphics Presentation

  • Microsoft Project

  • Microsoft Publisher

  • Microsoft Works

  • StarOffice

2.5. Supported sources

File or Folder
Files on local and network file systems can be indexed. Please check the list of supported file formats. The use of external and network drives is not supported, both for stability and performance reasons.

Load files
Load files stored in Concordance, Relativity, and CSV format can be indexed.

Hotmail Search Warrant Result
The mail packages delivered by Microsoft when responding to a search warrant can be indexed.

Disk images
Several disk image file formats can be indexed, including the EnCase, FTK (AD1) and DD formats. Their contents will be indexed as if they were mounted and indexed as a regular Folder source. Optionally, files and folders can be recovered from the Master File Table (MFT). Carving of unallocated space and slack space is not supported.

MS Exchange EDB Archive
Use this option to index an MS Exchange EDB files and restrict indexing to a specific set of mailboxes. Indexing an EDB file in its entirety can be done by using the File or Folder source type.

Vound W4 Case
Entire cases created by Vound W4 can be imported.

IMAP account
Email accounts on an IMAP email server can be indexed, including all emails and attachments.

Dropbox
Both personal Dropbox and Dropbox for Business accounts can be accessed. Folders and files stored in that account will be retreived and indexed.

Google
Google accounts can be accessed and indexed, including all emails, attachments and other items in the selected services in that account.

Microsoft 365
The complete contents of a Microsoft 365 account can be accessed and indexed, incl. the Outlook, OneDrive, and SharePoint services of that account.

iCloud
Apple iCloud accounts can be accessed and indexed, including all information synced to that account from an associated device or entered on icloud.com.

2.6. Supported languages

As Vound applications are entirely based on Unicode, they can index and provide keyword search for texts from any language. There is no specific support for the handling of diacritics. E.g., characters like é and ç will be indexed and displayed, but these characters will not match with 'e' and 'c' in full-text queries.

The Language facet supports detection of the following languages:

af

Afrikaans

he

Hebrew

nl

Dutch

th

Thai

ar

Arabic

hi

Hindi

no

Norwegian

tl

Tagalog

bg

Bulgarian

hr

Croatian

pa

Punjabi

tr

Turkish

bn

Bengali

hu

Hungarian

pl

Polish

uk

Ukrainian

cs

Czech

id

Indonesian

pt

Portuguese

ur

Urdu

da

Danish

it

Italian

ro

Romanian

vi

Vietnamese

de

German

ja

Japanese

ru

Russian

zh-cn

Simplified Chinese

el

Greek

kn

Kannada

sk

Slovak

zh-tw

Traditional Chinese

en

English

ko

Korean

sl

Slovene

es

Spanish

lt

Lithuanian

so

Somali

et

Estonian

lv

Latvian

sq

Albanian

fa

Persian

mk

Macedonian

sv

Swedish

fi

Finnish

ml

Malayalam

sw

Swahili

fr

French

mr

Marathi

ta

Tamil

gu

Gujarati

ne

Nepali

te

Telugu

3. Getting started

Same requirements, suggestions and security considerations that apply for Intella Investigator, apply also for Intella Node product.

3.1. Who should be involved in the successful setup of Intella Investigator?

While setting up Intella Investigator is very straightforward, it does require a sound experience with network and computer configuration. Further to this, the person setting up Intella Investigator will often need to enlist the experience, permissions (user credentials) and sign-off of a number of other specialists to complete a successful installation.

Intella Investigator is a web server and as such requires that a successful setup takes the following into account:

  • The security of data and any policies your organization may have for transmitting data across a network.

  • The configuration of the base operating system used for Intella Investigator.

  • The configuration of firewalls on the host operating system.

  • The configuration of security software such as anti-virus programs.

  • Any firewall(s) between the Reviewer and the Intella Investigator server.

  • If Intella Node is used, any firewall(s) between the Intella Node server and the Intella Investigator server.

  • Configuration and access to any secure networking protocols such as VPN’s or other network-based encryption methods.

  • The storage locations for evidence and case folders.

Simplistic Intella Investigator environment

The image above shows a simplistic Intella Investigator environment.

With this in mind, Vound suggests that the following user types are involved in the planning and installation of Intella Investigator:

The Intella Investigator Admin - The person who will manage Intella Investigator. They should have a detailed understanding of case management, e.g. be able to manage the administration of adding new cases and assigning reviewers to Intella Investigator.

Your Network Admin – Your network administrator will be crucial in the setup of Intella Investigator. He or she will have experience in setting up a web service on a server and will be able to guide the Intella Investigator Administrator on the best and most secure configuration methods to do so.

They will need to have the user credentials and knowledge to:

  • configure and manage the Standard Operating Environment (SOE) of both the Intella Investigator server and Reviewers computers.

  • advise on the port that Intella Investigator uses to ensure that there are no conflicts with other applications.

  • advise on the best ports to share cases on and to ensure that there are no conflicts with other network traffic.

  • set the configuration of the server, firewalls and VPN to allow Intella Investigator to share cases using the chosen port and networks.

An experienced network administrator should be able to install Intella Investigator in 1-2 hours. However, this will take much longer if a detailed plan of what tasks need to be done prior to sharing a case is not undertaken.

Failing to involve a competent network administrator is a mistake. It can lead to an insecure setup or cause network issues that can affect all other network users. It may even see you breach company policies on the transfer of data between networks.

What if you don’t have a network administrator? It is expected that you will have a good knowledge of Windows, networks and firewalls prior to installing Intella Investigator. Please understand that Vound cannot offer support for these topics as they are the prerequisites for running a web service.

The Remote Network Admin – If you are planning to share a case over the Internet, you will need to have your network administrator work with the remote network administrator to enable secure case sharing. The remote network administrator will most likely have the same responsibilities as your network administrator and be best placed to ensure success.

In summary

Installing Intella Investigator will involve more knowledge and experience than installing other Vound products. If you have not installed a web service or configured a fire wall before, you should seek help from a qualified network administrator prior to doing so. At all times, security and stability should be your goal.

3.1.1. Assumptions

This section makes the following assumptions:

  • The computer or server used is solely for Intella Investigator.

  • The network used is a LAN and not subject to any firewalls other that the on the client or server.

  • The settings given below are validated as secure and allowed by the organization.

  • The user will consult their network administrator for configuration options should they wish to share a case via the internet.

  • Any other security software will be disabled during setup.

3.1.2. Operating Systems

Intella Investigator can be installed on the following operating systems:

  • Windows 8

  • Windows 10

  • Windows 11

  • Windows Server 2008

  • Windows Server 2008R2

  • Windows Server 2012

  • Windows Server 2012R2

  • Windows Server 2016

  • Windows Server 2019

Although our products can be installed on a number of Windows Server products such as Server 2012, 2016 and 2019, our products do not require a server operating system, and they run perfectly well on the listed desktop operating systems. For server installations, we only support our applications. We do not provide support for the server itself. Server security settings may need to be configured, and ports may need to be opened, for our products to operate on a server platform. These settings need to be addressed by your IT team to ensure that security of the system is maintained.

We do not recommend installing Intella Investigator on Home editions of Microsoft Windows.

3.1.3. Potential Conflicts

  • Certain anti-virus software, specifically AVG, have prevented or interfered with the installation of Intella Investigator. Therefore it is recommended that you disable any anti-virus software before installing Intella Investigator.

  • We do not support the installation of Intella Investigator on a Server OS that already has IIS configured for web hosting.

3.2. Installing and starting Intella Investigator/Intella Node

There is one installer that can be used to install Intella Investigator and/or Intella Node.

  1. Download Intella Investigator through the Downloads page on the Vound support website: https://www.vound-software.com/software-downloads

  2. Double-click on the downloaded .exe file to launch the installer. Accept the license.

  3. Choose the product you wish to install.

  4. Enter the location to store the application files and shortcuts or accept the default installation path.

Intella Investigator/Intella Node will not install in an installation folder where a previous version was installed. Install a new version of Intella Investigator/Intella Node in a folder with a new name, for example: C:\Program Files\Vound\Intella Investigator 2.6\ / C:\Program Files\Vound\Intella Node 2.6\. It is possible to install multiple Intella Investigator/Intella Node versions side by side when they are installed as standalone program (not as Windows services) - but there should be only one Intella Investigator/Intella Node as a service installed at any point in time. It is possible to install Intella Investigator and Intella Node on the same computer, since they are using different program file locations such as shown in example above (read more).

Please make sure that clocks of servers running Intella Investigator/Intella Node are globally synchronized. Not doing so can lead to hard to debug issues.

  1. If Intella Investigator/Intella Node should be installed as Windows Service, follow one of the following sections based on the product you are installing:

  2. All files will be extracted to the location of your choosing and an Intella Investigator/Intella Node shortcut is (optionally) placed o n your desktop and in your Start menu.

  3. User folder %USERPROFILE%\AppData\Roaming\Intella Investigator will be created. It contains Intella Investigator related settings, files and data. If you are also installing Intella Node (default setting), additional folder will be created to store Node specific settings: %USERPROFILE%\AppData\Roaming\Intella Connect

3.2.1. Installation of Intella Investigator and Intella Node on the same machine

Intella Investigator uses an accompanying instance of Intella Node for indexing evidence sources. Those two products together constitute the ecosystem required to easily create and share cases for investigation. Intella Investigator has been designed with simplicity in mind and therefore the default installation procedure will install Intella Node along with Intella Investigator. This is in contrast to our other flagship product, Intella Connect, where we discourage running two products on the same physical server.

If you are striving for a higher scalability, it’s certainly possible to have Intella Investigator and Intella Node running on separate machines. This option may be favourable where the volume and size of cases increases, and you don’t want the server load increased while ingesting data to impact the experience of investigators working on existing cases.

3.2.2. Changing the default port

Before starting Intella Investigator/Intella Node for the first time you may want to change the default port it is running on.

Below you will find a table listing default ports for all the Vound server products.

Product name Default Port

Intella Connect

9999

Intella Investigator

9999

Intella Node

10000

To change default port of Intella Connect or Intella Node please look for user.prefs file located in: %USERPROFILE%\AppData\Roaming\Intella Connect\prefs then open it with a text editor and find ServerPort or NodePort property respectively.

For Intella Investigator you need to edit the file located in the following directory: %USERPROFILE%\AppData\Roaming\Intella Investigator\prefs

If ServerPort/NodePort property is missing, just create one with the desired port value.

For example, if you would like to change the default port for Intella Connect or Intella Investigator to "1234" you should add the following line to the properties file: ServerPort=1234

Similarily, for Intella Node you would add: NodePort=1234

If the application was already running when port was changed, it will have to be re-started for changes to take effect.

Obviously, two products running on the same physical machine cannot use the same port, and an attempt in doing so would report a port conflict error and prevent one of applications from starting.

How to choose the best port for Intella Investigator/Intella Node:

If you do not wish to use the default port for you may select a port of your own choosing. One option is to use port 80, a common port that is usually open in the firewall for at least outbound connections already. Using port 80 removes the need to add a port to the Case URL when typing it into a web browser as well. Like all ports, port 80 must not be presently occupied. If you wish to choose another port, you can select one from 1…​65535 although it is best to choose a port greater than 1023 as low range ports are registered ports and may be in use already. No matter what port you select, you should confirm whether or not it is in use on the host already.

3.2.3. Local Firewall Configurations

Intella Investigator uses port 9999 by default. This port must be open on the local firewall in order for the product to work correctly. To configure the local firewall for Server 2008 R2, go to Start – Administrator Tools – Windows Firewall with Advanced Security.

path to Windows Firewall from Start

To enable or disable the Windows Local Firewall, click on Windows Firewall Properties.

Windows Firewall

There are three separate profiles contained within the Windows Firewall. They are:

  • Domain - Applied to a network adapter when it is connected to a network on which it can detect a domain controller of the domain to which the computer is joined.

  • Private - Applied to a network adapter when it is connected to a network that is identified by the user or administrator as a private network such a home network.

  • Applied to a network adapter when it is connected to a public network such as those available in airports and coffee shops. When the profile is not set to Domain or Private, the default profile is Public.

Select the Profile you want to configure and select On or Off. If the firewall is turned on you may select either Block (default), Block all connections or Allow for Inbound Connections. You may select Allow (default) or Block for Outgoing connections.

Private Profile

  • Intella Investigator

    • For the Intella Investigator server, the host in which you share the case, you must configure the firewall for inbound connections.

    • For the client, the host in which you will review the case, you must configure the firewall for inbound connections.

  • Intella Node

    • For the Intella Node server, the host where indexing will be performed, you must configure the firewall for inbound connections.

    • For the Intella Node, the host which will communicate with the Intella Node, you must configure the firewall for inbound connections.

Although you can configure the firewall at large, in most situations you probably just want to configure the firewall for the designated port only. To do so, right click either Inbound or Outbound Rules and select "New Rule".

New rule

In the New Rule Wizard, select Port.

Select port

Select TCP as the Protocol and 9999 as the Port or the port you have chosen as described in Changing the default port.

Select protocol and port

Select "Allow the connection".

Select Allow the connection

If you wish to designate only designated users to this port, you may select those users in "Authorized Users".

Select users

You can also select designated computers as well.

Select computers

Then select the profile you wish to use.

Select profile

Finally, name the Rule appropriately.

name the Rule appropriately

The Rule will now appear in the list of rules.

Rules list

To access the Windows Firewall in Server 2012, click on the Server Manager icon in the task bar.

Windows Firewall in Server 2012

Then select Local Server in the left hand menu.

select Local Server

Then select Windows Firewall and Advanced Security from the Tools menu in the right hand corner.

select Windows Firewall from the Tools menu

The procedure to configure the Windows Firewall is identical to that of Server 2008 R2. You can also access the Windows Firewall through Control Panel just like any of the Windows Workstation operating systems.

Windows control panel

3.2.4. Starting Intella Investigator/Intella Node

Depending on the products you have installed, the application folder contains an executable called IntellaConnect.exe, IntellaInvestigator.exe or IntellaNode.exe. This files can be used to launch the application. The desktop and menu shortcuts also start this executable.

Double-click on one of the executables or select Intella Investigator/Intella Node from the Start menu.

If you click on this icon more than one time, you will receive an error similar to this one:

Initialization error

If you are receiving this error after starting Intella Investigator/Intella Node for the first time, please look at section Troubleshooting port conflicts.

No splash screen or window will be shown when you start Intella Investigator/Intella Node. Instead, an Intella Investigator/Intella Node icon will show in the Windows system tray.

Based on the product installed proceed with those steps:

  • Intella Node - Locate the green Intella Connect logo in the system tray and double-click on it. This will open Intella Node local status page. If message saying "The Intella Node is prepared now" is present the installation of Intella Node was successful. You can proceed with Case Templates section in order to make use of newly installed Intella Node.

  • Intella Investigator - Please proceed with reading the rest of this section.

System tray icon

Locate the Intella Investigator logo in the system tray and either:

  • double-click on the icon, or

  • right-click on the icon and select the Admin Dashboard menu entry.

This will open the Intella Investigator Dashboard in your web browser. When requested for a user account, enter admin as username and admin as password. These are the default values. How to change the admin password is explained in the User management section.


Intella Investigator Dashboard

The Cases List will show cases
  • created using Intella Investigator and indexed by Intella Node

  • created with the desktop-based Intella version (Intella 10, Intella 100, Intella 250, Intella Professional, Intella Connect) on the same computer where Intella Investigator is running.

  • If you have not created any cases yet, you can do so in the Intella Case Manager. For more information, please refer to the section called "Creating a new case" in the Intella User Manual.

  • If you already have cases created, but they are located on different computers than the one on which Intella Investigator is running, you can choose to do one of the following:

    • Copy the case folder to the computer on which Intella Investigator is running and add an existing case, as described in the section called "Opening an existing case not in the list" in the Intella User Manual.

    • Export the case as described in the section called "Opening an existing case not in the list" in the Intella User Manual and import the case on the computer on which Intella Investigator is running, as described in the section called "Importing a case".

It is recommended to go to the Admin Dashboard and select Systems Notifications which will inform you of any critical alerts or potential issues.

System Notifications

3.3. Licenses and dongles

Notes on the trial license that is bundled with the software that you have downloaded:

  • License indicator

The identification number for Intella Investigator license is displayed on the right side of the secondary navbar in the Admin Dashboard. It will show either a Dongle ID or trial license, if a trial license is detected:

license ID on Dashboard

Clicking on that label will navigate you to About Intella Investigator page, where this licensing information can also be found.

  • 2-Day evaluation period.

The trial version runs under a HASP Software License, which gives you the ability to use Intella Investigator for 2 days. The 2 days evaluation period cannot be extended. The only way to continue using Intella Investigator is to purchase a dongle.

  • Continue working with a USB dongle.

If you would like to continue using Intella Investigator after this 2 day period, you will need to buy a license. After buying the license you will receive a USB dongle that will allow you to continue using the version you already installed. A dongle provides a perpetual license.

  • System clock.

Changing the clock on your system will cause the trial to automatically expire. When this occurs, the only way to continue using Intella Investigator will be to purchase a license.

  • Virtual Machines, VMware.

The evaluation version will not work in VMware without a dongle.

  • RDP (Remote Desktop Protocol) connection.

When using RDP, the dongle or trial license must be in/on the computer running the Intella Investigator, not in the computer running the RDP viewer.

  • Other dongle-protected software must be closed

All other HASP protected software, like EnCase (Guidance), Smart Mount (ASR Data), HBGary and i2 products, must be closed when installing Intella Investigator.

3.4. Sharing a Case

Select the case you wish to share by clicking on the case name in the Dashboard. This will show the case details on the right side of the page and allow you to access the settings and share function for that case.

It’s possible to change case URL by changing Case alias field present in case details section.

Only alphanumeric characters and hyphen can be used when specifying Case alias.

How to define the users that will be able to access shared cases is explained in the User management section.

Once complete, click Share.

Case shared

The image above shows the case having been shared. Note the location of the case address and port, shown as a blue hyperlink.

When a case is already opened by an instance of a different Vound product, you will not be able to share it with Intella Investigator at the same time. Only one application can use a case at a time.

If for some reason case will not open, try refreshing your browser by pressing the F5 button. If that does not help, please try to re-enter the case URL into the browser’s address bar.

3.4.1. Granting case access to users

Before or after a case has been shared, you can define which users can access it. By default no user can connect to a shared case. To allow users to participate in a review you can click on the Authorizations button. This will open a modal window where you can assign users to various roles.

Roles assignment

The purpose of this view is to list the roles defined in the RBAC (Role-Based Access Control) model and indicate which users are assigned what roles in this ase. Roles are emphasised by labels with a bright green color. Underneath each role there is a long input box that lists all the users who are assigned that role in this case. Each user can be associated with zero or more roles.

To learn more about users and roles, please refer to the User management section.

A user can access a given case only if he is assigned a role with the "Case access" permission!

Assigning roles to users is quite straightforward. Click on the input box for a particular role (e.g. "Investigator" ) and start typing the desired user name (e.g. "John"). An autocompletion box will appear with hints about names available among your user accounts.

To remove a role for a given user click on the little x button next to the user name.

Each change to the role assignment should be persisted by clicking the green OK button. Changes will take effect immediately.

3.4.2. Case alias

Case alias can optionally be changed in order to change the URL on which the case is being shared.

3.4.3. Auto-Start option

Case can optionally be shared with the Auto-start option enabled. The purpose of this function is to specify which cases should be automatically shared after the Intella Connect server starts. It is a good way of making sure that a certain set of cases is always available for a review, even when Intella Investigator is restarted often.

If the case will fail to start, there should be a trace of this fact left in the Case Logs.

3.4.4. Memory settings and Crawlers

The Intella Investigator main process and its child processes (one for each case that you share) are limited by the amount of RAM that the process can maximally use, despite how much memory is installed in the machine. In some cases this limitation can cause issues when reviewing or exporting the data. These issues can be recognized by errors in the log files containing the text "OutOfMemoryError" or "java heap space".

Setting memory allocation manually might help in this case. To increase these thresholds, select the case in the Case Dashboard and change the “Memory allocation” setting from Auto to Manual and increase the value. The value is in mega bytes.

Note that you can never specify more than half of the available system RAM. This is to make sure that when more then one case is shared, those processes and the OS still have sufficient memory available to them.

The memory setting for the Crawler processes is calculated automatically based on the amount of RAM minus the memory used for the main process, and the number of crawlers that will be used. By default Intella Node calculates the number of crawlers based on the number of CPU cores in the system. However, this number is capped at 4 as assigning more crawlers without other considerations can adversely affect performance.

When the amount of memory per crawler is set automatically by Intella Node, it will be capped at a maximum of 2GB per crawler. Again, this is a setting that usually does not need any changes, but it can be changed manually if required. The job for the Crawler is only to extract and collect information; they don’t index the data right away. The indexing takes place later in the post-processing steps which are done in the Main process.

The settings for the crawlers also controls these other processes:

  • Exporting to PDF.

  • Exporting to PST.

  • PDF converter used by the Preview tab.

  • Load file import (TIFF to PDF conversion).

  • OCR import (text extraction).

  • Notes validation.

The user can manually adjust these memory and crawler settings to better suit their hardware specifications and the data which they are processing.

To change the amount of memory allocated to crawler process, select the case in the Case Dashboard and change the Service memory allocation setting from Auto to Manual and set the value in megabytes. Make sure that you do not use larger values than what your machine and OS supports. For processing of EDB files, a minimum of 3 GB will be necessary.

To change the amount of crawler processes, select the case in the Case Dashboard and change the Crawler count setting from Auto to Manual and set the value. The number of crawlers should never exceed the number of CPU cores on your PC. Setting a too high number might result in nonoptimal performance.

By default, Intella Node will cancel processing of an item if takes an extremely long time. It happens when a crawler does not produce any items in more than one hour. This number can be changed via the `Crawler Timeout `setting. It is also possible to disable the timeout mechanism completely by setting the value to 0.

3.4.5. Case sharing limitations

It should be noted that "Software Maintenance And Support Agreement" for Intella Investigator defines a hard limit on the amount of active cases that can be concurrently shared by every Intella Investigator server. The definition of an active case is that it is shared with a reviewer logged in or reviewing that case. Currently that number should be no more than two at any given time.

Intella Investigator does not have any built-in limitations on the amount of cases defined in the system. However, if you share more than 30 cases at a time, then a warning will be shown to administrators, informing them that this is not recommended. That is because each shared case will occupy some hardware resources, which would be best to use elsewhere. In future releases this scenario will be replaced by a different, on-demand sharing mechanism.

Excessive case sharing can lead to a situation where on some occasions more users log in to different cases, thus promoting them to being active. When this happens and the limit of two active cases has been reached, Intella Investigator will start to show warnings to Administrator informing him of this fact. That should be a clear signal to Administrator that some actions need to be taken - either ask reviewers to delay review until other reviewers complete theirs; unshare cases which are not critical; or consider installing another server to offload some cases there. If Intella Investigator decides that it needs to take an action to reduce the number of active cases, it may temporarily disable the review of some case, informing users about this fact. All types of warnings are presented below.

Admin notification when the limit has been reached:

Active cases limit reached admin error

Reviewer notification when review has been temporarily disabled due to the limit being reached:

Active cases limit reached reviewer warning

Let’s explain this in more details on a typical, real-life example: Let’s say that one company has created around twenty five cases in Intella Investigator. Fifteen have already been completed, so they do not require instant access - administrator decided not to share them. The remaining ten must be available for on-demand access so they have been shared. This means that we have 10 shared cases, but none of them are active yet. When the first reviewer signs in to a shared case, then the case becomes active (1 of 4). Next three other cases can also be activated. Once you have four active cases, activating any other case will cause Intella Investigator to start issuing warnings visible to administrator. At this point administrator contacts the reviewer and determines that review will end shortly. After some time has passed after user logged out, the case was deactivated and the limit went down to acceptable level (four active cases). However, if during that time more cases would get activated, then Intella Investigator could block the review for one of active cases (see screenshot above).

3.5. Reviewing with Intella Investigator

The case is now ready for access from any device having access over the network to the PC running Intella Investigator.

A user with the appropriate permission can connect to a case by entering a case URL in his favorite web browser.

Case shared

In the example above the case URL is:

   http://192.168.1.115:9999/shared/master-outlook

You should point users to the same URL you are using to access the Intella Investigator Dashboard which is (in the example above):

   http://192.168.1.115:9999

Based on their role they will be redirected to the User dashboard where the cases they have access to will be listed and where they can change their avatar image.

The remote computer has to have TCP/IP access to the computer specified as the Intella Investigator server.

Logging into shared case

After logging, the reviewer is presented with User Dashboard where cases he has access to are listed.

User Dashboard

After selecting a case, the reviewer can start reviewing it.

Case review


3.6. Troubleshooting port conflicts

If you are getting the following error message:

Initialization error

It could mean that there is an application already running on the host computer that is utilizing port 9999 (this section assumes that you have not changed the default port, however, if you did change it as described in Changing the default port, then please use that port for troubleshooting purposes). To confirm this, make sure that Intella Investigator is not running. Then open a command prompt window and type:

NETSTAT –a

Then look for port 9999 and see what the state is in the row:

netstat listing

If there is a port conflict, you can change the default port of Intella Investigator as described in Changing the default port.

3.7. Microsoft .NET and kCura Relativity SDK

To be able to export directly to a Relativity server, i.e. without having to handle Relativity load files, Microsoft .NET and the kCura Relativity SDK need to be installed.

The following versions of Relativity are supported:

  • Relativity 8.2

  • Relativity 9.7 - 10.3

Microsoft .NET can be obtained from the Microsoft website:

  • Microsoft .NET 4.5 for Relativity 8.2

  • Microsoft .NET 4.6.2 for Relativity 9.7 - 10.3

The Relativity SDK can be obtained from the Relativity website. This functionality was tested with version 8.2 of the SDK. After running the SDK installer, copy all 20 DLLs from this folder:

C:\Program Files\kCura Corporation\Relativity SDK\ImportAPI\Client\x64

to this folder for Relativity 8.2:

C:\Program Files\Vound\Intella X.Y.Z\bin\relativity\8.2\

In order to install Relativity SDK 10.3, do the following:

  • Go to the Intella program folder, e.g. C:\Program Files\Vound\Intella X.Y.Z

  • Go to the sub folder bin\relativity

  • Run the script download_sdk_10.bat

  • Script will download and extract the required files from the public repository.

  • Restart Intella.

3.8. Frequently asked questions

How can I print and export PDF reports with characters of my language?
By default, Intella Investigator supports printing and PDF generation for the basic Latin character set only. To enable printing and PDF export for a language that uses another character set, you need to install an additional Unicode font that supports that language.

  • Download the font file and install it in your system

  • Copy the font file to the font subfolder of your Intella Investigator installation: C:\Program Files\Vound\Intella Investigator 2.6\font

  • Restart Intella Investigator

The font must be a Unicode TrueType or OpenType font with “.ttf” or “.otf” file extension. The font folder must contain a single font file only. Using more than one font at the same time is not supported at the moment.

Recommendations for font selection:

  • For Chinese, Japanese, or Korean languages it is recommended to install a language-specific font. A large list of fonts for different languages and writing systems is available at http://www.wazu.jp/. If you already have the native font installed on your Windows system, you can copy it from “C:\Windows\fonts” to the Intella Investigator “font” folder.

  • For languages other than Chinese, Japanese or Korean, it is possible to install a single universal font supporting a broad range of character sets. You can try the GNU FreeFont font collection at http://www.gnu.org/software/freefont/.

4. Installing and starting Intella Investigator as a Windows Service

In order to install Intella Investigator as a Windows Service, one must fulfill few preconditions. Please do not proceed with the installation until you read the remainder of this document!

To install Intella Investigator as a Windows Service, you will have to
  1. Pick a Windows account under which Intella Investigator will run.

  2. Make sure that this account is properly set up.

  3. Validate and adjust your firewall settings.

When Intella Investigator is installed and running as a Windows Service, it cannot be started from executable as standalone application. Intella Investigator Windows Service must be stopped in order to start Intella Investigator as a standalone application.

4.1. Providing valid credentials (during installation)

During installation, on an installer page dedicated to Windows Service installation you will be asked to provide credentials for Windows user account. This is necessary as Intella Investigator needs to run in the context of a particular Windows user and keeps its configuration inside the home directory of that account. Make sure not to have the service installed to log in as LocalService, NetworkService or LocalSystem. If you are installing Intella Investigator as a Windows Service on a user within a Domain, the "Account name" field in the installer needs to be in form "DOMAINUSER". For instance, for an account "JohnDoe" within domain "DoeDomain" the correct value would be "DoeDomain\JohnDoe".

You must first assign the user that is installing Intella Investigator the right to “Log on as a Service.” If you are installing Intella Investigator on a workstation or member server, you can do this either by configuring the “Local Security Policy” or by creating and configuring a Group Policy Object for that host.

If you are installing Intella Investigator on a Domain Controller you can either configure “Domain Controller Security Policy” or create and configure a Group Policy Object. To configure the Local Security Policy which is available under Administrator Tools and expand Local Policies – and click on “User Rights Assignment.” Then select “Log on as a service” and select the user or group for the account that will be doing the installation.

Local Security Policy

To configure a Group Policy Object, go to Computer Configuration – Windows Settings – Security Settings – User Rights Assignment and once again select “Log on as a service.”

User Rights Assignment

Log on as a service

Then select the appropriate user or group.

Log on as a service Properties

Once the “Log on as a service” right has been configured, the assigned user can then install Intella Investigator as a Windows Service. In install wizard, during the step outlined below, the login credentials of the user configured with the “Log on as a service” right must be input.

Intella Investigator as a Service Installer Step

4.2. Firewall settings for using Intella Investigator as a Windows Service on Windows Server operating systems

Intella Investigator will automatically add few required firewall rules during installation. However, depending on the specificity of your deployment, you might still need to adjust your firewall settings.

The firewall on Windows Server operating systems is more restrictive than in desktop Windows operating systems. This will manifest by traffic on loopback network interface (127.0.0.1 or localhost) to be allowed, but any packets incoming to local network interface (from outside of the machine) to be dropped. Thus, using browser on the server to navigate to Intella Investigatordashboard, will show the page without any issues, but when using browser on different machine on the network, it will fail to display the dashboard.

To allow incoming traffic on the server:

  1. Open Windows Firewall with Advanced Security.

  2. In the left pane, click Inbound Rules, and then, in the right pane, click New Rule.

  3. In the New Inbound Rule wizard, choose Port Rule Type.

  4. Specify the port on which Intella Investigator will be running and follow the instructions of the wizard on the remaining options. If this is the first time that Intella Investigator is installed or the port was not changed, then the default port 9999 will be used.

If the port on which Intella Investigator is running will be changed at any point later in time, then this firewall rule will need to be updated as well to reflect the port change.

4.3. Adjusting settings in *.ini files

When Intella Investigator/Intella Node is installed as a service, the settings in IntellaInvestigator.l4j.ini (or IntellaNode.l4j.ini) file are ignored.

Few specific settings controlling Intella products family have to be adjusted through the INI files located in the program’s installation folder. Those are being used when Intella Investigator/Intella Node is started using the executable file (*.exe). However, when it is started as a Windows Service these settings will not have any effect.

To fix this, any environmental settings need to be edited through the service-control.bat.

Note that Intella Investigator contains both the server as well as Intella Node. That is why there are two batch files: service-control.bat and investigator-service-control.bat. investigator-service-control.bat is used to install Intella Investigator as a Windows Service. service-control.bat is used to install Intella Node as a Windows Service. The variables need to be adjusted either for Intella Investigator or Intella Node, depending on which product you are using. The variables are the same for both products.

You can open this file with a text editor and add any settings to the JVM_OPTIONS variable. This is presented below:

Before the change:

set JVM_OPTIONS=-Dintella.logSlowRequests=true;-Dintella.runningAsService=true;

After the change:

set JVM_OPTIONS=-Dintella.logSlowRequests=true;-Dintella.runningAsService=true;-Dintella.crawlersCount=12;

After editing and saving this file, Intella Investigator Windows service needs to be uninstalled and installed with new settings in order for this change to be propagated into Windows services system. The script file has the following parameters:

  • the action that this script performs. It can be one of these values: install, uninstall, start, stop

  • Windows user account name

  • Windows user account password

An example of executing this file:

service-control.bat uninstall
service-control.bat install .\Administrator password

It is not required to uninstall the service if it wasn’t previously installed.

4.4. Intella Investigator as a Windows Service running under user account without password

By default, a security setting restricts local accounts that are not password protected to be able to log on only at the physical computer console. The Intella Investigator Windows Service will be aborted silently during automatic startup and if attempted to start it manually, it will show following error: Error 1069: The service did not start due to a logon failure.

Computers that are not in physically secure locations should always enforce strong password policies for all local user accounts. Otherwise, anyone with physical access to the computer can log on by using a user account that does not have a password.

To allow Intella Investigator Windows Service to run with user account that is not password protected:

  1. Open Local Security Policy.

  2. In the left pane, click Local Policies - Security Options.

  3. Double-click on "Accounts: Limit local account use of blank passwords to console logon only" and choose disabled.

4.5. Manual (un)installation Intella Investigator Windows Service

In some situations it’s desirable to install, uninstall or reinstall Windows Service associated with Intella Investigator, without the need of going through the full (un)installation of the software. It can easily be achieved with a help of service-control.bat batch script.

One can follow these steps:

  1. Open Windows' Command Prompt as an Administrator. The rest of command are to be executed inside this prompt.

  2. Go to the directory holding the latest installation of Intella Investigator For example:

cd C:\Program Files\Vound\Intella Investigator 2.6
  1. Uninstall the previous version by running:

service-control.bat uninstall
  1. Then install version from the current directory by running:

service-control.bat install SERVICE_USER SERVICE_USER_PASSWORD
Available commands are listed below
  • uninstall - uninstalls any previous Intella Investigator Windows Service

  • install - installs Intella Investigator Windows Service for the version located in the current directory

  • start - starts Intella Investigator Windows Service

  • stop - stops Intella Investigator Windows Service

  • debug - starts Intella Investigator Windows Service with additional debugging information

Caveats
  • if the service-control.bat operation outputs "SUCCESS", it doesn’t necessarily mean that operation achieved it’s goal (this output just reports that the operation did not encounter errors while executing)

  • when providing the account name as an argument (ex. SERVICE_USER) make sure to always provide its associated Windows' Domain too. For instance, for a local account "JohnDoe" the correct value would be ".\JohnDoe" because this account is a part of the local domain.

To check if everything went fine it’s best to open "Services" tool built into Windows (services.msc) and verify if "Intella Investigator Service" entry is listed as a running Service. There should also be "Log On As" property matching the account specified in step 4. If it doesn’t show up there, then you should modify it there directly by right clicking and opening "Properties" ("Log On" tab).

If the service-control.bat operation outputs "The system cannot find the path specified.", then it suggests that some path within the script is not correct. Make sure that all paths listen in following variables are correct: LOG_DIR, START_PATH, PROCRUN_FILE, CUSTOM_CLASSPATH.

4.6. Troubleshooting Issues with Running Intella Investigator/Intella Node as a Service

4.6.1. Is Intella Investigator running as a service?

Once you have installed Intella Investigator or Intella Node as a service on your system, it will run as a service in the background. However, given how running applications as a service works, there is nothing on the screen to show or indicate that the service is actually running.

To check whether the Intella Investigator/Intella Node service is running, you can look at the status of the IntellaInvestigatorService , or the IntellaNodeService (for Intella Node), in the Services tab of the Windows Task Manager. The Status should show the service as Running.

Check running status in Windows Task Manager

4.6.2. The Intella Investigator desktop Icon

A Intella Investigator shortcut icon is placed on the desktop once the installation process is complete. This shortcut is different from shortcut placed on desktop when installing Intella Investigator as a standalone program. If you have installed Intella Investigator as a service, then this shortcut will run Intella Investigator Service Utility which helps to troubleshoot the Intella Investigator installation.

The Intella Investigator Service Utility needs to be run as an administrator. It will run the following commands:

Note that trying to run the IntellaInvestigator.exe executable file when Intella Investigator is running as a service will result in following error:

Dialog showing cannot start Intella Investigator when running as a service

In this example the error is saying that Intella Investigator is already running as a service. Note that only one instance of Intella Investigator can be run at a time on a single system.

4.6.3. Checking which account has started the Intella Investigator/Intella Node service

To verify that your installation has completed properly, you should make sure that Intella Investigator/Intella Node are being started by the correct account. More information regarding the Intella Investigator/Intella Node service can be seen in the Windows Services panel (e.g. go to Administrative tools/Services). In this example you can see that the Status for the Intella Investigator Service shows that the service as running and it also shows which account was used to start the service. Note that the Intella Node service would show ‘Intella Node Service’ under the Name column. As mentioned, you should verify that this is the dedicated service account which you have setup to start Intella Node or Intella Node as a service.

Service properly installed

4.6.4. Wrong Account?

If the user account shown in the ‘Log On As’ column of Windows Services is not the service account that you want to use, then it is likely that the service account was not setup properly during the installation process. For example, if you specified the wrong account (or password to the account) during the install process, this will be detected and you will see the following message.

Cannot verify credentials during installation

Note that the installation process does allow you to continue with the installation if the account cannot be found, or the account details are not correct. If you choose to continue then the Local system account will be used, and Intella Investigator or Intella Node will not be able to be started as a service.

If this has occurred, you can fix the issue by assigning the correct account for the service. You can do this by:

  • Right clicking on the ‘Intella Investigator Service’

  • Selecting the Properties option

  • Switching to the Log On tab

  • And, providing the correct account details (you can browse to the correct account)

Service logon check

4.6.5. Corrupt installation?

If you have the correct account credentials, but running Intella Investigator/Intella Node as a service still does not work, it may be that there was an issue during the installation of the Intella Investigator/Intella Node instance, and it was not installed as a Windows service properly. When you install Intella Investigator/Intella Node to run as a service, the description field in the Windows Services should be populated as shown below.

Check that service installed properly

If the description field is blank, this may indicate corrupted installation. In such case we recommend that you reinstall Intella Investigator/Intella Node on the system. Note that you do not have to remove the old installation. You can simply install the product into a different folder. Please ensure that the Windows account you select has full administrator permissions and access to the system.

4.6.6. Missing license on Windows start up

Prior to Intella Investigator version 2.7, in some cases it was necessary to add service dependency to Sentinel LDK License Manager in order for Intella Investigator to be able to get license when Windows start up.

The command to do that was:

sc config <service name> depend= Tcpip/Afd/hasplms

Where <service name> is IntellaConnectService in case of Intella Connect, IntellaInvestigatorService in case of Intella Investigator and IntellaNodeService in case of Intella Node.

From version 2.7, it is not needed to add this dependency to the service, because it will be done automatically when the service is installed.

5. Installing and starting Intella Node as a Windows Service

Process of installing Intella Node as a Windows Service is exactly the same as installation process of Intella Investigator as a Windows Service hence we suggest reading Installing and starting Intella Investigator as a Windows service

6. Dongles

Vound licenses are typically delivered in the form of a dongle. Dongles have several benefits over software-based license keys. For example, users can easily move software licenses from one machine to another by simply plugging the dongle into the other machine, there is no loss of license when the operating system is reinstalled or reverted from an image, changes to the hardware (new motherboard etc.) do not lock the license, hard drive failures do not result in the loss of licenses, etc.

To protect our intellectual property, dongles may not be activated when shipped by Vound or one of its resellers. In that case, it is necessary to activate your dongle to use the application, using one of the update mechanisms below.

6.1. Dongle Manager

Each Vound application ships with a Dongle Manager application. The Dongle Manager will list all connected Vound dongles and the products they currently contain. When the PC running the Dongle Manager is connected to the Internet, it can also contact the Vound license server to check for any updates for a dongle. These updates are then downloaded and applied automatically.

The Dongle Manager is in the root application folder:

A shortcut to the Dongle Manager can also be found in the Start menu. After starting the Dongle Manager, the following screen will appear:

image

This screenshot shows a typical setup where only one Vound dongle is connected. When multiple dongles are present, they will each be listed separately in this list.

Click on Blink to see to which physical dongle an entry in the list corresponds. This will cause the LED in the represented dongle to blink rapidly. This can be useful when you have multiple Vound dongles plugged in or are using HASP dongles from a different Vendor.

Show Products will list the licensed products on that dongle. All products typically have a perpetual license; hence no license restrictions are displayed by the Dongle Manager.

Show Products also shows a list of expiration dates. These reflect the end date after which you will not be able to receive technical product support and license updates. These end dates do not affect the ability to use the existing licenses on your dongle.

C2V will create a file that reflects the identity and content of your dongle. Please use this button when instucted by Vound Support to do so.

To activate or update your dongle, click on Check for Updates. This will contact the Vound license server and download and apply any updates. When the process has finished, the Dongle Manager will show which products, if any, have been added to the dongle. The update procedure will only add new licenses to the dongle; it will leave your existing licenses untouched.

An active Maintenance Agreement with at least 60 days remaining until the expiration date is necessary to qualify for maintenance updates.
To activate or update a network dongle, the dongle must be plugged into the local system. Attempting to update a remote dongle will typically fail.

When you are on a network using a proxy, the Dongle Manager will automatically try to detect and use it. If this fails, the proxy settings can still be set using the “Configure proxy settings…”. Consult your IT admin for further instructions.

Note that this update procedure can be done on any Internet-connected computer; it does not have to be done on the computer on which the licensed application will be run.

6.2. Dongle updates with haspupdate.exe

If the dongle cannot be activated or updated in this fashion, e.g. because external network connections are not allowed and the dongle can not be temporarily moved to a machine that can make such connections, please follow the steps below.

Step 1: Collect your dongle and license information and upload it to the Dongle Updates website.

image

  1. Plug your dongle into an available USB port.

  2. Start haspupdate.exe. You will find haspupdate.exe in the bin folder in the installation folder.

  3. Select the Collect Status Information tab.

  4. Select the Update of existing protection key option and click Collect Information.

  5. In the next dialog that may appear , you will be asked to select a Sentinel Protection Key. Be sure to select the one listed as HL in the Key Type column. image

  6. Next, the Save Key Status As dialog will appear, asking you to enter a file name and location. Please save the file with your company name. If you are activating more than one dongle, please number the files. The file(s) you create will have a c2v file extension.
    Example:
    ACME_Forensics_1.c2v
    ACME_Forensics_2.c2v

  7. Record the dongle ID numbers for each dongle. This will help when applying the update files.

  8. Open https://www.vound-software.com/dongle-update in a web browser.

  9. For each C2V file, use the Choose File button on this page to select the C2V file, and click the Submit button. When updates are available for a dongle, a list of one or more V2C files will be shown. Download all V2C files and keep track of which dongle/C2V file they corresponded to.

Step 2: Apply the license update file(s) you receive from the Dongle Updates website.

image

  1. Make sure your dongle is connected to the computer where you will apply the license update file(s).

  2. Start haspupdate.exe as before.

  3. Click the Apply License File tab.

  4. Click the Browse button labeled "…" next to the Update File field. This opens a file selector dialog.

  5. Select the .v2c file in the file selector and click Open.

  6. Click the Apply update button.

Your Vound dongle is now activated!

When the Dongle Updates website listed multiple V2C files for an uploaded C2V file, be sure to apply them in that order.

In case of questions or problems, please contact Vound Support at http://support.vound-software.com/.

6.3. Network dongles

A prerequisite for using network dongles is that the so-called "Sentinel LDK driver" is installed on both the client and the server.

This driver is in fact known under several different names due to historic reasons. When it is installed, it is typically visible as "Sentinel LDK License Manager" in the Windows Services application and under that same name or as hasplms.exe in the Windows Task Manager and Windows Resource Monitor.

On a standalone PC, the driver provides a bridge between the licensed application (e.g., Intella or Intella Connect) and the dongle holding the license. Furthermore, it handles software-based licenses such as the bundled trial license. In case of a network dongle, the drivers on the machines stretch that bridge across the network, making the products on the network dongle available to other PCs in the network.

Getting this driver installed is best achieved by simply running the installer on both machines, as it includes the installation of the Sentinel driver.

Once the Sentinel driver is up and running on both machines, the drivers will communicate with each other automatically, or after a bit of network configuration (see below). When the application starts on the client and requests a license from its local driver, the driver will communicate with the server’s driver and exchange information about the network-enabled licenses on the server’s dongle, making the licenses also available to the client. The server’s driver will register that one more user is using the application, or refuse the operation (and block the client machine from starting the application) when the allotted maximum number of concurrent users has been reached.

Network dongles often work out-of-the-box, but may in some cases require a small amount of network configuration. This depends mostly on the locality of the client running the application and the server holding the network dongle.

6.3.1. Client and server in single subnet

When the client and server are within the same subnet, no network setup is usually necessary. The drivers on both machines will usually find each other automatically and the client will be able to use the licenses on the network dongle.

For example, in the following setup:

Server IP address: 172.168.12.223
Client IP address: 172.168.12.26
Subnet Mask (Class-C): 255.255.255.0

the drivers will be able to communicate directly, if port 1947 is not blocked.

When the application is not able to use the network dongle’s licenses, please follow the steps below for setting up usage with different subnets. This may resolve the issue.

6.3.2. Client and server in different subnets

Given the following setup:

Server IP address: 172.168.12.223
Client IP address: 172.168.16.46
Subnet Mask (Class-C): 255.255.255.0

the drivers will require some configuration for the client and the server to be able to find each other.

Step 1: Make sure that port 1947 (used by the drivers) is not blocked by any firewall. The drivers use this port to communicate with each other and with the application. Both TCP and UDP communication need to be enabled.

Step 2: Ensure that the server and client machines can "ping" each other.

Step 3: Plug the network dongle into the server. Make sure that the key is detected when viewing the Admin Control Center on http://localhost:1947 on the server, like this:

image

Depending on the exact network dongle type, the value in the Key Type column can vary. E.g., HASP HL Net 10, HASP HL Net 50 or Sentinel HL Net 50.

Step 4: On the server, do the following:

  • On http://localhost:1947, click on Configuration.

  • Select the Access from Remote Clients tab.

  • In the Allow Access from Remote Clients section, make sure that the All licenses are accessible without need of identity option is selected.

  • Click Submit if a change was made.

image

Step 5a: When client and server are on the same subnet, then on the client:

  • On http://localhost:1947, click on Configuration.

  • Select the Access to Remote License Managers tab.

  • Make sure that the Allow Access to Remote Licenses checkbox is selected.

  • Make sure that the Broadcast Search for Remote Licenses checkbox is selected.

  • Click Submit if a change was made.

image

Step 5b: When client and server are on different subnets, then on the client:

  • On http://localhost:1947, click on Configuration.

  • Select the Access to Remote License Managers tab.

  • Make sure that the Allow Access to Remote Licenses checkbox is selected.

  • Enter the IP address of the server holding the network dongle in the Remote License Search Parameters box.

  • Click Submit if a change was made.

image

Step 6: On the client:

  • On http://localhost:1947, click on Sentinel Keys.

  • Verify that the network dongle plugged into the server is now listed here. This verifies that the client and server can communicate properly, and that the licenses on the dongle can be used. If any changes were made in the previous steps, this may in some cases take a few minutes to propagate.

You should now be able to start the application on the client, using a license from the network dongle.

6.4. Preferred dongles

For users having more than one dongle with Intella Investigator licenses, starting Intella Investigator will use arbitrary dongle. In a similar way, if the dongle in use is unplugged, Intella Investigator will switch to another arbitrary dongle with Intella Investigator license. If use of specific dongle would be preferred, then Intella Investigator can be instructed to prefer license from particular dongle with dongle ID.

You can specify the dongle ID by adding the PreferredLicenseIds entry in user.prefs file located in: %USERPROFILE%\AppData\Roaming\Intella Investigator\prefs

If the preferred dongle won’t be found, then Intella Investigator will look for arbitrary dongle.

For example:

PreferredLicenseIds=12345

Optionally, multiple dongle IDs can be specified, divided by comma, which will result in Intella Investigator preferring first dongle from the list. If the first dongle is not available, it will try to use second dongle from the list and so on. In a similar way, if Intella Investigator will be using second dongle from the list and first dongle will become available (by for example plugging in the dongle or fixing network connection), then Intella Investigator will stop using second dongle and use first dongle. If none of the preferred dongles won’t be found, then Intella Investigator will look for arbitrary dongle.

For example:

PreferredLicenseIds=12345,12346,12347

When using multiple products, such as Intella Investigator and Intella Node, then the preferred license attribute needs to be set on each product separately.

For example, when the preferred dongle is set only for Intella Investigator and not for Intella Node, then only Intella Investigator will use preferred dongle. Intella Node will look for arbitrary dongle and may not use the preferred dongle set for Intella Investigator.

7. Intella Investigator Dashboard

The Intella Investigator Dashboard is the administrative part of Intella Investigator and enables the administrator to share cases, define users, index cases remotely, view the activity stream from shared cases and modify the general settings of Intella Investigator.

7.1. Toolbar

Clicking on the user’s avatar in upper right corner allows user to change the password or log out from Intella Investigator:

Users name menu

To change password, select Change password from the menu.

change user password

Once the password fields are filled in, click on the Set button to change the user’s password. After changing the password, you will be asked to log in with a new password.

Passwords can be generated by clicking on the generate random password link.

The left-side menu divides the administrative part into the following parts:

7.2. Cases

The Cases view contains the following subviews:

  • List view

  • Activity view - gives detailed view about the activities performed by users logged into a case.

  • Import

  • Merge

  • Templates

The List view shows the list of cases prepared by the Intella desktop product or Intella Node. For each of the cases it also shows its status, which can be:

  • not shared: the case is not shared.

  • shared: the case is currently being shared and accessible by reviewers.

  • indexing: the case is currently being indexed by one of registered Intella Nodes.

  • indexing finished: the indexing operation has finished and case is still open by Intella Node.

  • converting: the case is currently being converted by one of registered Intella Nodes.

  • conversion finished: the conversion operation has finished and case is still open by Intella Node.

  • locked: the case is currently used by another Intella process, e.g. the Intella Professional desktop application.

A case can also be without a status, which means that it is not available. The reason for this can be that the directory where the case files used to be, is no longer accessible.

Clicking on a case shows its details on the right side, along with a set of buttons depending on status of the case:

  • Share: shares the case, which will be accessible via the URL shown in the Case URL field in the case details.

  • Authorizations: allows to assign users to various roles.

  • Stop sharing: stops sharing of the case (visible only for shared cases).

  • Delete case: removes the case from the list and optionally also from the disk.

  • Convert: allows to convert a case to a newer format supported by the current version of Intella Investigator (visible only if conversion possible, see note below).

  • Sources: opens up Sources page where sources can be added, removed and (re)indexed.

  • Included cases: For compound cases, it is possible to change the set of included cases (add new or remove existing sub-cases). Ability to change included cases is only available when compound case or some of its sub-cases are not shared.

Before attempting a case conversion please check if evidence files are available in the correct location. See Sources section for details.

7.2.1. Creating a new case

Creating a new case in Intella Investigator is straightforward.

After pressing Create case button located at the top of the cases list the Create case dialog will be shown.

Create Case

Please populate the form with case name, case description (optional) and desired path to the case folder.

You can paste the case location from clipboard or click on the browse button to open a file system browser which allows for manual selection of case folder. If case folder cannot be used (ex. due to lack of file system permissions), detailed validation warnings will be presented. An empty folder is expected when creating a new case, which can be created by clicking on New folder button, if it was not created beforehand.

Browse file system

Optionally, you can specify the case template which will be used to initialize the case.

By expanding Advanced panel you can get access to additional configuration options. Setting the optimization folder can be used to speed up indexing by distributing certain database files during indexing across the case folder drive and the optimization folder drive.

Assuming that Intella Node is installed on different computer than the one running Intella Investigator, it is possible to have Case and Optimization folders reside on computer which is running Intella Investigator. You will need to use network path instead of local path to be able to index evidence which does not reside on local disk with Intella Node. To be precise, you will need to use network path when creating case (Case folder field and Optimization folder field are the ones, which will need network path).

After you’ve entered all data, press Create button. You will be presented with Sources page of a newly created case where you will be able to add and index newly added sources.

7.2.2. Creating a compound case

Create compound case

Click Create compound case button. In the Create a new compound case modal window, specify case name, optional description and case folder, as described for a local case above.

In Include cases list, choose one or more local cases to be included in the compound case.

For more information about compound cases, see Compound cases

7.2.3. Importing an existing case to the list

If you have existing case on the disk which is accessible to Intella Investigator, then you can manually import it to the available cases list. This action is available in the Existing case panel located in Cases / Import sub-view.

Please provide an absolute path to the case folder (parent folder of a case.xml file). It’s the best to copy and paste it directly from Windows Explorer window. You can also browse the file system to select the case folder manually. The server will then analyze provided path and if the case is found in that location, it will render basic details about the case. This is presented on the image below. If provided path is invalid, then appropriate message will be shown.

Adding case

Case with same location cannot be added multiple times. In an attempt to add case to the list when case with same location is already present in cases list, a message will be shown highlighting the case with same location.

After you click on the Add case button, it will be added to the cases list.

Intella Investigator can also be configured to add cases automatically. For more information see General settings section.

Importing compound case will automatically also import sub-cases associated with that compound case.

7.2.4. Importing an Intella Case File (*.icf)

Regular versions of Intella (ex. Intella Professional) offer an option of exporting an entire case into a single archive file called Intella Case File (using .icf file extension). Such case archives can later be imported in Intella Investigator.

This action is available in the `Intella Case File (*.icf) ` panel located in Cases / Import sub-view.

In the first field please provide an absolute path to the Intella Case File. You can also browse the file system to select that file manually. In the second field you need to provide the location of where the case files should be extracted. Using the last checkbox (selected by default) allows you to automatically add a case to the cases list after it has been successfully imported from ICF.

After you click on the Start import button, the extraction process will start and you will be able to track its progress in the panel on the right hand side.

ICF import progress

7.2.5. Deleting an existing case from the list

Click on the Delete case button located at the bottom of the selected case details panel. In the modal window, leave the checkbox empty if the case should only be removed from cases list. Check the checkbox if the case should be removed from cases list as well as from disk.

If the case was a part of a compound case, it would also be removed from the compound case.

7.3. Converting a case

Click on the Convert case button located at the bottom of the selected case details panel to start a case conversion process. Cases that have been created by an older version of Intella products can be converted to the latest case format to enable the use of features that have been added since. Case conversion is available for cases created with version 2.1.x and newer.

Case conversion will create a copy of the case in which all item data is converted, and all tags, comments and flags are imported. The original case will not change. Make sure that you have sufficient disk space to store this copy. You can specify the folder for the case copy in the case conversion dialog.

Case conversion ensures that case databases can technically be opened in a newer version. Re-indexing ensures that case databases are rebuild from the ground up with that newer version, employing all the improvements that are present in that newer version. It is recommended to re-index a converted case to take advantage of the improvements of a newer version and to make sure that non-trivial queries work as expected.

7.3.1. Converting Compound Cases

To convert a Compound Case to a newer version, follow this procedure:

  1. Use Convert case button to convert each individual sub-case included in this Compound Case to create their updated copy in a new folder.

  2. Once all sub-cases are ready, use Convert case button to convert the selected Compound Case to another folder. The presented modal window has a special field labeled Converted sub cases which shows case selector dropdown for each sub-case. The modal will also try to examine your cases list and pre-populate those selectors with a matching case you converted in step 1. Make sure that new versions of all sub-cases are correctly selected.

  3. Click on Start conversion button. Once that operation completes, your compound case is ready to be used.

7.3.2. Case Sources management

After you create a new case you will be presented with a screen which allows to manage evidence sources. You can also always navigate to this view by clicking on Sources button in the case details panel.

Manage Sources

Using this view it’s possible to:

  • Browse, add, edit or remove sources.

  • Re-index selected sources or the entire case.

  • Index new data in selected sources or the entire case.

  • Import a load file overlay.

  • See statistics of current and last indexing operation.

  • Close the case opened (being processed) by Intella Node.

To learn more about sources management please refer to the Sources management section.

7.3.3. Case Templates

A case template is a collection of configuration settings, preferences and case metadata that can be exported from an existing Intella case and re-used for the creation of other cases. Case templates allow for initializing new cases quickly with predefined sets of tags, keyword lists, tasks, column settings, etc.

You can manage case templates in a dedicated view accessible under Cases / Templates. It allows for:

  • Creating a new template, created from an existing case.

  • Importing an existing template from Intella Case Template ("*.icf") file

  • Deleting case template

  • Browsing contents of the case template

Case Templates Management

Creating a case template

To create a new template click on the Create button. This opens a modal window where you can specify for which case you want to create template, as well as the path and name of the Intella Case Template file. Please note that you can only select cases which are not currently shared. If you want to create a case for currently shared case, please unshare it first. This modal also allows you to choose components to include in the template. This is illustrated below:

Create Case Template

The available template components are:

  • Case preferences - this component also includes the number of crawlers and service memory settings.

  • Saved Searches

  • Column presets

  • Indexing tasks

  • Tags

  • Custodians

  • Content Analysis categories

  • Keyword Lists

  • MD5 lists

  • Export templates

  • Redaction profiles

  • Excluded paragraphs

  • Custom columns

  • Load File import templates

  • Coding layouts

Few of components listed above are derived from standalone Intella products and may not have graphical user interface which would allow to change them in Intella Investigator. They may be included in the case template though, to preserve interoperability between both tools. Examples are: Case preferences, Column presets.

Press the Create template button to create the template and add it to list of available case templates.

Using a case template

To apply a template when creating a new case select it in the Case template dropdown in the Create case dialog.

Export templates imported from case templates do not overwrite existing templates located in folder: %USERPROFILE%\AppData\Roaming\Intella\export-templates In order to use all export templates imported from case templates, even those that have the same ID, then the existing templates located in %USERPROFILE%\AppData\Roaming\Intella\export-templates need to be deleted from the export-templates directory. Alternatively, the UUID attribute can be changed directly in XML to make the templates unique.

Importing a case template from file

Press the Import button to open the Import existing case template modal window. Provide a name of the template and select the Intella Case Template file from local file system. After pressing Import button, the file will be uploaded to server and this template will be added to the list of available templates.

Deleting a case template

To delete existing case template first select it in the dropdown of available templates. Then press Delete button. The following dialog will ask you for confirmation if you want to proceed with deletion, as this action cannot be undone.

Browsing contents of a case template

To see what case template contains, simply select it from the dropdown list. This will automatically populate the view with components included in this template.

7.3.4. Case Merging

You can merge two cases in a dedicated view accessible under Cases / Merge, as illustrated below:

Case Merging

Items in a case can be exported to another case. We refer to these as the source case and target case, respectively. This functionality supports several use cases:

  • Exporting selected items to a new (and empty) case, e.g. to filter privileged information or irrelevant items, or to divide the work among reviewers in such a way that each reviewer only has access to their own assigned subset.

  • Merging of two or more cases to create one unified case, or to import the work done on a previously exported case back into the main case.

When items are exported to another case, Intella Investigator will add the related sources to the target case, and the items will be added to those new sources. However, when the target case is a copy of the source case, or if items from the source case were exported to the target case before, then the target case can already contain these sources. In such cases Intella Investigator will add the exported items to the existing sources. Any items that already exist in the target case will not be added again. Subject to the selected export options, the associated data like tags and comments will be copied though.

Exporting items to a case will increase the registered case size of the target case. Intella Investigator calculates the increase based on the size of the selected items and their (recursive) parent items, as far as these contributed to the case size of the source case. For example, exporting a set of email items from a PST file that was stored in a crawled file system folder will increase the size of the target case with the size of that PST file. When the to-be-exported items were indexed with Intella 2.1.1 or older, the required information is not available though, and Intella will add the full size of the source case to the target case instead.

The size of the target case after export cannot exceed the limit imposed by your current Intella Investigator license.

An Intella Investigator case or source that was created by exporting items to it cannot be re-indexed. This is done to prevent the filtered out items from being restored if the original evidence files are available. Sources that cannot be re-indexed will be marked with "exported" label.

You can export either a subset or all items from a selected case. To export a subset of items to another case, use the following procedure (if you want to export all items skip to next list of steps):

  • Open a shared case from which you want to export items.

  • Run a query that contains all the to-be-exported items and tag them with a tag of your choosing.

  • Unshare this case.

  • From Admin Dashboard navigate to Cases / Merge.

This view allows scheduling a new case merging operation. In order to do this:

  • Select Source and Target cases using two dropdown lists (see note below on which cases can be used).

  • Select which items you want to export. If you want to export a subset of items, select a tag using dropdown. This will cause only items tagged with selected tag to be exported.

  • Select at least one merging option using the modal window (see next paragraph for details).

  • Select an instance of Intella Node which is currently available to accept an indexing operation.

  • Press Start to begin merging operation.

Source and Target cases must not be shared, indexed or locked by any other instance of Intella.

Case Merging Options

Case Merging Options

This modal window allows you to specify which information should be included in the export, along with the item content:

  • Passwords and authentication tokens that are stored in source configurations (IMAP, iCloud, etc.). When these are not included in the export, the source cannot be re-indexed in the target case.

  • Indexing tasks defined in source configurations.

  • Tags that are referenced by exported items, or the complete tags hierarchy defined in the source case.

  • Custodians that are referenced by exported items, or all custodians defined in the source case.

  • Flags.

  • Comments.

  • Redactions.

  • Excluded paragraphs.

  • OCRed content, with an option to overwrite existing OCR content in the target case for exported items that already exist in the target case.

  • Imported text, with an option to overwrite existing imported text in the target case for exported items that already exist in the target case.

  • Content Analysis results.

The case export currently only includes the crawled data and the options shown above. Also, the timestamps of exported annotations are not yet preserved; their timestamps will be the time of export. This will be extended and improved in future releases.

Locking and closing cases

During case merging Intella Investigator will open and lock both Source and Target cases. Once the operation finishes (either with success or error) both cases will be closed and the Target will get unlocked. However, the Source case will still be locked. In order to unlock it you need to click on the Finish case merging in the case details panel.

Case Merging Finish

Requirement for manual closing of Source case may be removed in future versions of the software.

Item stubs

When exporting items to an Intella Investigator case, Intella Node will export only the items that are in the current selection. If you want to export emails with their attachments, you must include the emails and all their attachments in the selection for exporting.

This functionality therefore allows for specific items to be excluded. E.g., if an email has an attachment and that attachment is privileged (should not be included in the export), the email can be exported without the attachment by simply exporting only the email itself. Note that the binary file associated with that email will still contain the attachment in binary form though! This is therefore not a secure way of filtering out all privileged information.

When items are exported without their parents, their parents will still be represented in the target case by item stubs. These stubs are necessary to show the context of the exported item. An item stub contains a minimal set of metadata of the original parent item, such as its name, location and type.

Intella Investigator will record the start and end of the export process in the event logs of both the source case and the target case. Besides the user and timestamp, these events record:

  • The Case ID of the case that the items were exported to/imported from.

  • The Case name of the case that the items were exported to/imported from.

  • A unique Event ID that can be used to identify corresponding import and export events in source and target cases.

Tracking case merging progress

Once case merging operation starts you will be able to track its progress in the details panel on the right. This panel, once expanded by clicking on the arrow icon, will show detailed progress of each step of case merging operation.

Case Merging Progress

Memory allocation

Use case memory settings to increase the memory allocation value in the source case in order to avoid out of memory errors. For more information, see Memory settings and Crawlers section. If you are merging items from Case A to Case B, then you need to increase the memory of Case A.

7.4. Compound cases

A compound case is a virtual case that instantly combines two or more cases ("sub-cases") into a single unified case.

Compound cases offer several benefits:

  • Users can search, review and export items across all sub-cases, without having to repeat these actions manually for each sub-case.

  • When processing very large data sets, indexing can be spread across multiple machines.

    • Once each machine has indexed its data subset, the resulting cases can easily be combined through a compound case.

    • The data in the sub-cases is not duplicated (copied) in this process. This makes compound cases very fast to create and requiring less disk space, compared to when the sub-cases are fully merged with the "Export to Intella Case" functionality.

  • One may need to add additional evidence data to a case. Compound cases make this possible without having to take the active case down. The new evidence data is processed as a separate case and then joined with the current "live" case with minimal downtime.

7.4.1. Caveats and limitations

Only local cases can be included in a compound case; remote cases shared by Intella Connect or Intella Investigator are not available for inclusion in a compound case.

Only cases created with Intella 2.5 or newer can be included in compound cases. Older cases will first need to be converted to the current case format.

Evidence data sources cannot be added directly to the compound cases, but they can be added to the sub-cases separately. New data will be available when the compound case is opened next time.

It is not possible to use a compound case and any of its sub-cases at the same time. Opening a compound case will lock all its sub-cases. Similarly, opening a sub-case separately will lock all compound cases with this sub-case.

User annotations (e.g., tags, flags, comments, and custodians) that are added in a compound case are specific to that compound case and do not affect the sub-cases.

The following annotations that are added in the sub cases will be visible (read-only) in the compound case:

  • Tags

  • Custodians

  • Comments

  • OCR

The following annotations that are added in the sub cases will NOT be visible in the compound case:

  • Batches and Coding

  • Content Analysis

  • Custom ID

  • Duplicate Custodians and Locations

  • Email Threading

  • Excluded Fragments

  • Export sets

  • Generated thumbnails

  • Identities

  • Keyword Lists (including MD5 and Item ID lists)

  • Near-Duplicate Detection

  • Redactions

  • Saved searched

  • Tasks

One can perform these actions, but their results stay local to the compound case. The compound case also maintains its own Event Log, independent from its sub-cases.

Thumbnails generated in a sub-case will be visible in the compound case. But thumbnails generated in the compound case will not be visible in the sub-cases.

The following functionalities are not available in compound cases:

  • Any form of source management, including viewing, adding and removing sources. That also includes fatal source errors (the top-level Errors tab).

  • Indexing and re-indexing.

  • Load file import (both regular load files and overlays)

  • Exporting items to another Intella case.

  • Changing primary date rules.

  • Changing message hash options.

  • Changing show parents options.

  • Any form of key store management, including viewing and changing passwords, certificates, etc.

  • Importing item texts via command line options (-importText option).

  • W4 import tab.

  • Custom column management.

Text imported into a sub case via '-importText' command line option will be visible in the compound case.

Notes on item IDs in compound cases:

  • An ID of an item in a compound case can, and generally will, be different from the ID of the corresponding item in the sub-case.

  • Item IDs in the compound case will always remain the same (stable) no matter whether a new sub-case is added or removed, or any source is added, removed or re-indexed in a sub-case.

7.4.2. Important note on case deletion

When a sub-case is deleted, evidence items of this case will no longer be available in a compound case that refers to it. If the compound case had annotations or other review data associated with these items, this data will be unavailable.

Deletion of a compound case will not cause the deletion of any sub-cases. If desired, these need to be deleted individually and separately.

7.5. Remote servers

7.5.1. Intella Investigator Grid

If you are running more than one Intella Investigator servers then likely you could benefit from configuring them as a part of the same Grid. This feature allows reviewers to have a single point of entry to all Intella Investigator servers. This simplifies case management in larger organizations, as reviewers do not need to be aware which Intella Investigator server is hosting the case.

For this feature to work, each server forming a Grid must have LDAP integration enabled. This is required to establish a consistent user base for each of the servers.

Each server in Intella Investigator Grid must be configured to reuse the same LDAP provider. Not doing so can lead to potential authentication/authorization conflicts.

It’s imperative to manually pick one server which will act as a single point of entry for the Grid and apply any configuration there. Other Grid servers do not need to be further configured (assuming that LDAP configuration was already applied).

It’s common in networking to identify servers interchangeably by their IP, domain or network name (ex. IP 1.1.1.1 matching pc1.mycompany.com). However when Intella Investigator server is being added to the Grid only one URL will have to be provided and will be used as a unique identifier of the server. For security reasons these URLs will be used internally to validate the origin of requests accepted by Grid servers. Therefore the grid might not work properly if you set up a server using it’s IP address and then later are accessing it using its domain name.

When adding a server to "Known servers" list make sure to use the URL under which it will be accessible to reviewers.

The same rule applies to the server which acts as a single point of entry. You must make sure to apply any grid configuration using the URL which will later be used to access user dashboards.

When user is accessing his dashboard he will see all cases in Grid which are currently shared with him. If he decides to open one, he will still be redirected (HTTP 302) to the appropriate server. The data hosted by servers is not proxied through the server which acts as single point of entry. This is deliberate behavior which means that at all times reviewers need to be able to communicate with grid servers on a network level.

Example

This example will walk you through the hypothetical use case of setting up Grid in a company distributed across three continents. It gives you some general guidelines how to approach this task and stresses points which should be discusses with your IT department.

Let’s say that we have three Intella Investigator servers running in our company. Here are their details:

  • Server1; IP=1.1.1.1; domain=main.mycompany.com; Location: Main HQ

  • Server2; IP=2.2.2.2; domain=newyork.mycompany.com; Location: New York

  • Server2; IP=3.3.3.3; domain=sydney.mycompany.com; Location: Sydney

Until now there was no strict policy as to how to access those servers so users were using different mix of IPs or domains. The first step is to define a scheme of addressing our servers. We decided to rely on domain/subdomain names as IPs are too fragile to rely upon them. We also decided to promote the Intella Investigator server located in London to become our single point of entry. We also asked our IT department to disallow direct access to server by IP (as an additional precaution).

In the next step we went through all three servers and made sure that each one of them is using the same LDAP provider. It turned out that the one in New York had a bunch of local accounts which were interfering with LDAP (username clashes) so we decided to clean this up and create LDAP accounts for those people.

After that we logged in to main.mycompany.com (entry point) to set up Grid there. Under Servers > Grid > Known servers we added the remaining two servers. The first one as:

And the second one as:

Right after that they were added to Known Servers list with the online status.

We then validated the setup by sharing 1 case on each of the servers and logged in to User Dashboard on the server which we chose as single point of entry (http://main.mycompany.com). User was successful presented with a list of cases showing three entries.

Troubleshooting GRID

For troubleshooting purposes, the servers of GRID configuration can be found in %USERPROFILE%\AppData\Roaming\Intella Investigator\servers-grid.xml . These servers are shown in the UI in Servers → Grid tab.

%USERPROFILE%\AppData\Roaming\Intella Investigator\prefs\ file. This property will point to the single point of entry server. This value is not currently shown in the UI and needs to be changed with text editor in case of troubleshooting.

In particular when getting this error:

Access to XMLHttpRequest at 'http://example.com:8083/serversGrid/sharedCases' from origin 'http://example.com:8081' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Then the property ServersGridCentralServerUrl needs to be checked if it matches the current domain of the single point of entry server which has most likely changed or server needs to be re-added to the grid.

7.5.2. Intella Nodes

Intella Investigator can make use of unlimited number of remote Intella Nodes to perform remote indexing. For installing and setting up an Intella Node please see Getting started section.

One Intella Node license is needed for each running Intella Node instance.

Using this view it’s possible to add/edit/remove remote Intella Nodes that can be used to perform remote indexing.

Make sure that remote Intella Node server is properly running and is directly accessible via network on particular IP and port.

Intella Node’s local status page shows detected host name and port, which can be used when adding new Intella Node.

The IP address that is being detected by Intella Node can be just one of addresses on which that computer can be reached and it might not be always the best one to use. There are few examples that come to mind:

  • your computer can have multiple networking interfaces, such as 1Gb/s TP (twisted-pair) ethernet network card and WI-FI network card. If you would connect both of those to different routers or switches, then your computer will be assigned two IP addresses and you can be reached by either of those. In this case you might want to use IP address assigned to the cable-connected network card rather than WI-FI as it might be faster. It could happen, however, that the IP address shown as detected is the one from your WI-FI network card.

  • a router or switch to which your computer is connected can be configured to have multiple subnets. That means that the IP address and network mask will depend on the interface to which you are connected on that router or switch. Not much to do here unless you are also network administrator and you understand how the router was configured and how the computer is connected.

  • your computer can be reachable on multiple IP addresses and ports even if you have just one network interface connected in your computer. For example: localhost:9999 or 127.0.0.1:9999 (also known as loop-back interface, which points to your own computer), 192.168.1.109:8082 (your local network on your directly connected router), 192.168.0.159:8081 (your company network on your second hop router), 85.74.198.115:80 (your public address). In this case you might want to use IP address which will make least hops on the route to server.

Please note that these are only simple scenarios and there can be much more complex network topologies and configurations. It really depends on what network you have and how it is built and configured. The detected IP address is being read from system configuration, it is not an algorithm that would detect your network and perform speed and reliability measurements to determine what exact address to use. It is meant to be a hint rather than anything else. When in doubt about which IP address to use, please consult your IT/network administrator.

When you have gathered all relevant data (host, port) you can add new remote Intella Node by clicking on the plus sign when hovering mouse over UNUSED remote Intella Node slot.

The Intella Node can now be added in place of the UNUSED slot.

Add Intella Node

Enter name, description (optional), host, port and enable the use of HTTPS if SSL is configured for this Intella Node. After pressing Add Node the Intella Node will show up in the remote Intella Nodes list with status Connecting…​ which indicates that there is a check being made whether remote Intella Node is up and running and is reachable.

Intella Nodes

If all entered data were correct and remote Intella Node server was reachable the status of the newly added Intella Node should be Idle which indicates that it is ready to be used for remote indexing. Connection error status indicates that server is not reachable. If that happens you should check whether:

  • Remote Intella Node is properly running which can be done by opening it’s local page.

  • Entered data (host, port) were correct.

  • Remote Intella Node server is reachable from Intella Investigator Server.

Click on Configure button to show configuration that can be changed on selected Intella Node.

Intella Node configuration

It consists of following sections:

  • Geolocation - allows configuration of email geolocation capability during indexing - see section Email geolocation

  • HCL/IBM Notes - HCL/IBM Notes configuration which allows indexing NSF files - see section HCL/IBM Notes

  • MD5 Hash Filters - can be used to exclude items that have a specific known MD5 hash from a case during indexing - see section MD5 Hash Filters

  • SSL - configures the server so that it uses secure HTTPS protocol for communication - see section Enabling HTTPS support on Intella Node

  • File Carving - configures the Testdisk / Photorec used for carving unallocated space when indexing disk images - see section [_file_carving]

7.5.3. Shared folders

Shared folders management is actually a way of logically organizing shared folders that are based on UNC paths.

Each defined folder represents specific type of location:

  • Evidence location - folder where evidence resides.

  • Cases location - folder where cases reside.

  • Optimization location - folder used for optimization.

  • Configuration location - folder used when configuring paths to various resources.

When such Shared folders are defined, the user is able to access them in a file selection tree under Shared folders branch next to Local Server disks.

Folders that represent Evidence location will be shown only when adding new sources, folders representing Cases location will be shown when creating new case, folders representing Optimization folder will be shown when selecting optimization folder and folders representing Configuration folder will be shown when configuring paths to various resources, for example MD5 hash filters.

To add a new shared folder, click Add shared folder

Add Shared Folder

Enter name, description, UNC path and select type of the location that folder represents. After pressing Add the folder will be added to the list.

Shared Folders

7.6. Users

This part is explained in the User management section.

7.7. System

This part informs the administrator about various issues that can occur as well as system information.

The first section "System information" shows the following:

  • Windows user account it is currently running under.

  • the location of Intella data folder and Intella Investigator data folder that are used for storing internal configuration

This information can help with resolving issues where administrators (re)start Intella Investigator and suddenly the cases and configuration data are gone. If that happens, then most likely reason is that after (re)installing Intella Investigator, it was started under different Windows user account than previously.

The second section shows issues with the system if any.

7.8. Settings

This part lets the administrator configure certain aspects of Intella Investigator server and external systems it may integrate with. It consists of the following sections:

  • General - general server behavior

  • Login page - customization of the login page appearance

  • Branding - allows to add customized/branded logos to appear in several parts of the UI

  • SSL - configures the server so that it uses secure HTTPS protocol for communication

  • LDAP - allows integration with an LDAP compliant server (ex. Active Directory)

  • SSO - allows integration with Single-Sign-On providers

  • Intella Assist - configures AI-driven assistant

  • Password - customizable password policies for user accounts

  • ABBYY - configures an external OCR server

  • Geolocation - configuration of geolocation provider

  • HCL/IBM Notes Settings - defines the location and validation status of HCL Notes application

  • MD5 Hash filters - configuration of hash filters

Each of these sections are further divided into smaller subsections and grouped by settings which affect similar features. For example, General section allows to configure Case sharing and default Admin password independently.

Each section of settings offers independent Apply and Discard buttons. Those buttons will became active once a change to settings is detected. A rule of thumb is that changes are not persisted unless you commit them by clicking Apply button.

Intella Investigator will try to guard you from accidental loss of unsaved changes by showing a warning when you try to navigate away from the current view. In such case you should discard or apply your changes.

7.8.1. General

Case sharing

Changing server host

By using the checkbox Override server host in case URLs and text field Server host it is possible to change how Case URLs are constructed in the Cases List screen.

Overriding the server host only changes how Case URLs appear in the cases list. It has no effect on your networking settings. Depending on your network infrastructure such Case URL might still not be accessible due to the router configuration. For example, when you own a certain domain name, setting Server host field to your domain name will make Case URL point to your domain, but it might still happen that your browser will not be able to connect to that URL. If that is the case, contact your network administrator to resolve this issue.

Case auto discovery folder

This option allows you to make Intella Investigator automatically discover cases available in a specified local disk folder. To enable this feature, simply enter an absolute path to the folder that might contain case folders.

Intella Investigator will check this folder every 15 minutes to find new cases (discovered by the presence of a case.xml file) and automatically add them to the available cases list. It will also scan the disk each time that you change this path.

For performance’s sake, Intella Investigator scans files three levels deep starting from the provided folder. You can increase this depth to any value you like by adding the CaseAutoDiscoveryDepth entry in user.prefs file located in:

%USERPROFILE%\AppData\Roaming\Intella Investigator\prefs

To prevent access denied errors, Intella Investigator will by default skip scanning following folders: $RECYCLE.BIN, System Volume Information. You can specify path prefixes to exclude from scanning by changing the CaseAutoDiscoverySkippedDirs entry in user.prefs file located in: %USERPROFILE%\AppData\Roaming\Intella Investigator\prefs Multiple path prefixes need to be separated by comma.

To turn this feature off, simply change the path to a blank value.

Disks are usually the main bottlenecks in hardware setups that we are usually dealing with. Adding a case usually happens rarely, so we do not recommend sacrificing even a tiny bit of a reviewing performance for it. Therefore we don’t encourage you to make use of this option unless it’s absolutely critical to your workflow. You can always consider switching it on and off depending on requirements.

Changing default admin password

This section allows changing the default password used by the admin account.

Current password

For security reasons, specifying the current admin password is required. By default this equals to 'admin'.

New password and Repeat password

These fields represent the new desired admin password. Values entered must match in order to eliminate typographical errors.

Locale

The Locale section allows configuration of the page format.

The Page format lets you select which paper size to use when exporting to PDF. Available options are ISO A4 and US Letter.

When printing item from previewer by clicking on Print button, then the page format is driven by paper size chosen in browser print dialog.

7.8.2. Login Page

This section lets the administrator configure these two aspects of the login page:

  • Custom messages to be shown on the login page next to the login form

  • Custom links to be shown at the bottom of the login page

Login page messages

Here you can define a custom message that will be shown on the login page. In order to create a new message, press on Add message button. This will instantly create a new entry and place it at the bottom of the current custom messages list. After creating a new custom message, the following fields need to be defined:

  • Message type:

    • Default: Renders message using black text.

    • Info: Renders message using blue text.

    • Warning: Renders message using orange text.

  • Start date (optional) - defines the date on which the message should be shown.

  • End date (optional) - defines the date after which the message should be hidden.

  • Message - defines message body.

  • Enabled - defines whether this message should be visible.

The order of custom messages can be changed by simply dragging them to the desired place.

Here you can provide custom links that will be shown on the login page. A custom link can point to either an external page or custom HTML content.

Custom link

In order to create a new custom link pointing to an external content simply click on Add link and populate the following fields:

  • Label - this is link text that will be shown.

  • Link - URL pointing to an external content.

  • Enabled - controls whether the link should be visible.

Custom content

In order to create a new custom content, press on Add HTML content button and populate following fields:

  • Label - this is the link text that will be shown.

  • HTML File - upload the desired HTML file.

  • Enabled - controls whether the link to HTML file should be visible.

The order of custom links can be changed by simply dragging them to the desired place.

7.8.3. Branding

Intella Investigator can be partially or fully branded with a custom logo of your choice. The process of setting this up is pretty straightforward. It’s just the matter of uploading image files. You can also optionally align the logo appearing in the Intella Investigator header, so that it appears in the correct location.

You can find more details on this topic in Branding section.

On login page

This logo appears on the login page, where user signs in to application.

In application headers

This logo will be shown in the Intella Investigator header (top of the screen), as well as in various places inside the application’s User Interface.

Header logo alignment

By adjusting the value in this field you can control the vertical alignment of the logo located in the header.

This feature will be enabled only for users having extended Intella Investigator license. Please contact your sales representative for details.

7.8.4. SSL

Intella Investigator supports protecting your server with a secure HTTPS communication layer. The details on how to set it up is a part of a separate guide available in SSL setup guide section.

7.8.5. Intella Assist

This feature is experimental and should be used with caution.

Enabling this feature will result in the content and metadata of selected items and user actions being submitted to the specified service. It is the sole responsibility of the user of this software that this information exchange is intended and lawful.

Vound cannot be held responsible for inadvertent disclosure of sensitive data to the service, accumulated billing costs and usage quota limits reached by using the service. Vound cannot make any guarantees on the correctness and completeness of the provided results.

Ensure that your users are trained in the appropriate use of the functionality and the caveats in using its results. Ensure you comply with the terms and conditions of the specified service.

Intella Assist is an AI-driven tool integrated into Intella Investigator, designed to enhance the review process. It assists users by providing advanced functionalities such as summarization, translation, inspection of items, and enables searching for specific items using natural language queries through the Intella Assist facet.

Configuration Requirements:

To leverage Intella Assist, a Large Language Model (LLM) provider service must be configured. Currently, the following providers are supported:

  • OpenAI

  • Azure OpenAI

  • IBM® watsonx™ AI™

  • Custom LLM provider

This chosen service will facilitate Intella Investigator’s integration with Intella Assist.

IBM® watsonx™ AI™ LLM provider currently supports following models:

  • ibm/granite-13b-chat-v2

  • mistralai/mixtral-8x7b-instruct-v01

  • meta-llama/llama-3-8b-instruct

  • meta-llama/llama-3-70b-instruct

  • meta-llama/llama-3-1-8b-instruct

  • meta-llama/llama-3-1-70b-instruct

Custom LLM provider can be set with any LLM model that:

  • …​ is compatible with OpenAI API

  • …​ has 16k context size (or larger)

For guidance on setting up local LLM model, please refer to our knowledge base article.

Important Considerations:

Please note that using this feature involves sending non-redacted item data and metadata to the selected external service for analysis.

Due to the following considerations:

  • The sensitivity of the data being transmitted,

  • Billing costs imposed by external LLM providers,

  • The necessity to review the correctness and completeness of the service’s responses,

…​it is mandatory for users to be granted the "Can use Intella Assist" permission to enable its usage.

Service Configuration Details:

This section describes configuration fields which needs to be filled in for the service to work properly.

Service The backend service that Intella Assist utilizes for performing AI-supported tasks.

Endpoint URL Specifies the completion endpoint URL for the Azure OpenAI or Custom LLM provider. This field is applicable only when the Azure OpenAI or Custom LLM provider is chosen.

Model (id) Identifies the AI model to be used for processing.

We recommend opting for models like GPT-4o or similar variants offering comparable capabilities for optimal results.

API Key The necessary API key for authentication with the chosen LLM provider.

Test integration There you can initiate a test request by pressing this button to ensure proper integration setup.

Logging

All prompts that are send to the external LLM provider are stored in the [CASE]/logs/prompts folder.

All conversations with Intella Assist supported features will be archived in the internal database for later retrieval by administrator.

Data capping

Intella Assist in the case of previewer will send out the following sensitive data to the LLM provider:

  • Item’s Content

  • Item’s Raw data

  • Item’s Headers (if Raw data is not present)

  • Item’s Properties

…​in addition to user’s prompt and other instructions.

Maximum size of each of these is capped at 16,000 characters. The main reason for this is to cut the API usage costs.

Should these limits not suffice for you for any particular reason you could change these by setting these properties:

  • IntellaAssistMaxItemContentLength

  • IntellaAssistMaxRawDataLength

  • IntellaAssistMaxHeadersLength

  • IntellaAssistMaxPropertiesLength

…​respectively in the user.prefs file located in: %USERPROFILE%\AppData\Roaming\Intella Investigator\prefs

Please be aware that this will affect the usage costs as more/fewer tokens will be consumed on each API call.

Note that in the case of OpenAI LLM service provider it’s not enough to have ChatGPT Plus subscription but should apply for developer API access instead.

Retrieval of archived conversations may be implemented in one of the future versions of Intella Investigator.

7.8.6. LDAP

Intella Investigator can be integrated with an LDAP server. This integration allows for the user base available in LDAP being used by Intella Investigator. The details on how to set it up is a part of a separate guide available in the LDAP setup guide section.

7.8.7. ABBYY Recognition/FineReader Server

When you have access to an ABBYY Recognition Server, or its successor ABBYY FineReader Server, you can utilize it to OCR selected items in the case fully automatically. The configuration specified here will apply to all cases shared by this Intella Investigator server.

ABBYY Recognition Server 3.5 or 4.0, or ABBYY FineReader Server 14, should be used.

Before attempting to configure this section, please make sure that your ABBYY Recognition Server is configured correctly:

  • The Web Service component is installed and configured properly.

  • You can open the Service URL in a browser and it shows: RSSoapService. The following operations are supported…​.

  • The latest versions of FineReader Server come with a demo app that can be used to test whether the web service component is installed and configured correctly. Open the following web page and enter the fields to test the API:

http://SERVER_IP:PORT/FineReaderServer14/demo/
  • A separate document should be generated for each input file.

  • The output format is a format that Intella can index.

  • The following parameters need to be set correctly in the following file
    (suggested parameters allow for processing files up to 30 MB):

C:\Program Files (x86)\ABBYY Recognition Server 3.5\RecognitionWS\web.config

Parameters:

<?xml version="`1.0`" encoding="`UTF-8`"?>
<configuration>
<system.web>
<httpRuntime maxRequestLength="`409600`" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="`300000000`" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
If the FineReader Server is configured to use a non-standard port such as 8080, do NOT include the port in the "Server IP address" field. But instead click on the "Use custom service URL" checkbox and add the port directly after the IP address. For example: Server IP Address: 192.168.0.1 and Service URL: http://192.168.0.1:8080/FineReaderServer14/WebService.asmx.

Host

IP address of machine hosting ABBYY Recognition Server. The Service URL field will be populated automatically based on the entered value.

Version

The version of ABBYY Recognition Server installed. The Service URL field will be populated automatically based on the entered value.

Use custom service url

If you know that your server uses a different URL, you can override it by checking the Use custom service URL check box. This will cause the Service URL field to become editable.

Service URL

The value of this field will be automatically generated based on input in other fields. It should point to the appropriate SOAP service of the ABBYY Recognition Service.

Workflow name

Specify the workflow name that should be used. Alternatively, you can press the Get list from server button to select a value from all available workflows on that server. This button can also be used to validate connection to ABBYY -Recognition Server.

Number of workers

Specify the number of workers to let the Recognition Server process more than one document at a time. The optimal number of workers depends on the Server capabilities (in particular the number of CPU cores on the server) and is also restricted by the server’s license (the number of CPU cores allowed to be used by the Recognition Server license). The number cannot exceed 64.

See OCR section for more information about OCR.

7.9. About

This part shows information about the Intella Investigator version that is used.

It also allows to generate a report listing server diagnostics and usage over past 12 months. This information is often handy when resolving support issues or determining overall system health. The report can be generated by clicking on the "Generate report" button, after which report will be downloaded as a regular text file. It contains basic information about the hardware hosting Intella Investigator, number of shared (and active) cases, memory distribution, number of active users etc. It does not include any confidential, case-specific data.

8. User management

8.1. Admin user password

To change the admin user’s password, sign in as admin and click user avatar in the top right corner of the application header. Then select Change password from the dropdown menu. You can also do this in General Settings.

8.1.1. Recover admin user password

If the password for admin user is not available, then it can be reverted to default state with file system access.

To revert to default password, do the following steps:

  • Shut down Intella Investigator.

  • On the machine where Intella Investigator runs, go to C:\Users\[USERNAME]\AppData\Roaming{product-name}\, where [USERNAME] is the account used to run Intella Investigator.

As a precaution, copy the users.enc file to a backup file. Open the users.enc file with a text editor.

  • Change the line that contains user admin to this text:

admin=qLSwQDbkNE_kwviCVkT4EQ

  • If the line which contains user admin is missing in the file, then add it. Make sure there is only one line that contains user admin.

  • Save the file.

  • Start Intella Investigator.

The default password for admin user equals to 'admin'.

8.2. Managing Users and Permissions - the RBAC model

For managing Authentication and Authorization Intella Investigator uses a mechanism called Role Based Access Control (RBAC). To effectively manage user accounts and their permissions, it is advisable to get familiar with this mechanism. It is a very simple yet powerful tool, allowing for full flexibility in creating various levels of access restrictions.

Below we describe the key entities used in an RBAC model:

  • User (account) - represents a single person who has access to an application. Each user is identified by a unique username and password, which needs to be presented for authentication purposes. This is how Intella Connect is able to recognize their identity and determine what each one of them can or cannot do.

  • Permission - represents access to a given resource or operation, for example the ability to tag items, access to a case or to a specific item. Permissions can grant or prohibit access to a certain action. There are different types of permissions defined in Intella Investigator. Administrators should get acquainted with them, because only then they will be able to properly manage access to various parts of Intella Investigator.

  • Role - roles can be considered as a set of permissions with a unique name. Roles are defined by server administrators. There is no limit on the number of roles that can be created. A roles can have zero or more permissions assigned to them. Permissions assigned to a role effectively define what actions a user with a given role is entitled to.

RBAC gives Administrators unlimited flexibility in defining complex hierarchies of users closely matching their own organizations. However, we strongly recommend keeping the number of roles relatively small, so that the whole model remains manageable over time.

For simplicity, managing user accounts has been separated from managing roles and permissions. Both those features are accessible after clicking on Users in the top menu in the Intella Investigator Dashboard.

8.3. Create new users, modify and revoking existing users

To create new users, modify and revoke existing users, click on Accounts in the top submenu in the Intella Connect Dashboard.

User management

The table shows following columns:

  • Username - this is the username of the account. Is used when logging in and it can be seen in event log when performing actions.

  • Type - the following types of accounts are supported:

    • Local - this account is created and maintained in Intella Investigator. External system is not involved.

    • LDAP - this account is fetched from LDAP. For more information see section LDAP setup guide.

    • SSO - this account was created when first logging in from SSO provider and Intella Investigator maintains reference to it. For more information see section Single Sign On.

    • LDAP & SSO - this account is fetched from LDAP, but SSO system is used when logging in. This is special case where the users list is populated by LDAP, but for actual login SSO provider is used. In this case both LDAP and SSO point at the same user base.

  • 2FA - shows the two-factor authentication status for this account. For more information see section Setup two-factor authentication for user. When hovering with mouse over the icon, then there are following status explanations shown:

    • ENABLED - Two-factor authentication is enabled.

    • DISABLED - Two-factor authentication is disabled.

    • LDAP - Two-factor authentication is not available for LDAP accounts.

    • SSO - Information about two-factor authentication is not available - check on SSO side.

  • Locked - shows whether this account is locked, which prevents from logging in. When hovering with mouse over the icon, then there are following status explanations shown:

    • Unlocked - Account is not locked.

    • Locked - Account is locked due to failed log-in attempts. For more information see section Account lockout policy.

    • Locked - Account is locked manually by administrator.

8.3.1. Create new user

New users can be added by clicking on the Create account button.

Create new user

Passwords can be generated by clicking on the generate random password link.

Once the user name and password fields are filled in, click on the Create button to create a new user and add it to the list.

8.3.2. Remove account

Revoking/deletion of a user account will clear any case-specific roles assignments which were registered for that account. If a new account with the same username would be later created again, then it will not retain previous assignments. Revoking of a user account is a terminal operation. It may take a few minutes before that fact is propagated to active, shared cases.

Select the user for whom you want to revoke access and click on the Delete account button.

After confirmation, the selected user will no longer have access to any part of the Intella Investigator system.

Revoking a user’s access will take effect after the user’s session expires or when the case sharing is restarted.

8.3.3. Usernames

Intella Investigator uses case insensitive comparison for usernames. This means, that "Admin", "admin" and "aDmIn" are essentially the same user. In various places in the user interface the username will be rendered using a lowercase. The current set of acceptable characters in usernames contains of:

  • digits (0-9)

  • letters (a-z, A-Z)

  • the underscore (_)

  • the at sign (@)

  • a dot (.)

Usernames should be at least 3 characters long.

8.3.4. Change user’s password

Select the user whose password you would like to change and click on the Set password button.

Select user

Once the password fields are filled in, click on the Set button to change the user’s password.

Changing a user’s password will take effect after the user’s session expires or when the case sharing is restarted.

LDAP and SSO users cannot have their passwords changed in Intella Investigator. They need to be changed directly in corresponding platform.

8.3.5. Setup two-factor authentication for user

The feature of two-factor authentication (2FA) for local Intella Investigator users has been added in version 2.4.2.

With 2FA, an extra security layer is added to the user account. After setting it up correctly, when logging in to Intella Investigator , then the user will be asked to login in two steps:

  • first with username and password

  • second with time-based one-time password (TOTP) generated on phone or another device

Due to the second step being time-based, it is required for the server on which Intella Investigator is running as well as a device on which authenticator is running to have system clocks synchronized.

Please make sure to enable "Set time automatically" option on Windows so that the system clock is synchronized with the internet time server.

The same applies to phones and other devices on which authenticator is running.

Select the user whose 2FA will be configured and click on Setup 2FA button.

This will open a modal window which shows the current status of 2FA and allows to enable or disable it.

By default, the 2FA is disabled as is shown when opening the modal window for the first time:

Enabling 2FA

To start the process of enabling the 2FA, click on Enable 2FA button. This will activate TOTP generation on Intella Investigator side for the user. At this point, 2FA is still disabled and further steps are required:

Enabling 2FA before verification

To finish 2FA setup, do the following:

  1. If authenticator is not installed on device, then install authenticator application on device using built-in application store (Google Play for Android devices and App Store for Apple devices). Google Authenticator or Microsoft Authenticator are recommended. In the authenticator application on phone, add a new entry in one of two ways:

    • Choose to scan the QR code with your device’s camera to add the entry automatically.

    • Enter the details provided to add the entry manually.

  2. Enter the six digit number from your device to the field in modal window and click Verify credentials button.

If the six digit number from your device will match the six digit number generated in Intella Investigator , then 2FA will be enabled for this user.

2FA verified

The modal window can now be closed. When logging in, you will be prompted to enter username and password as well as a six digit number generated by your authenticator.

It is recommended to use 2FA to strengthen security of all local user accounts.

Enforcing 2FA on all users

From version 2.6.1 of Intella Investigator 2FA can be enforced on all users. This can be done in Settings tab, Password sub-tab in the Admin section.

Check the Enforce Two-Factor Authentication on all accounts checkbox and click on the Apply button.

The admin user will be required to setup 2FA after applying this setting. Additionally, 2FA cannot be disabled with this setting enabled.

Users who do not have Two-Factor Authentication enabled will be informed about the requirement before being shown security credentials to set it up.

Troubleshooting two-factor authentication

The 2FA in Intella Investigator is time based. At the time of logging in, user sends TOTP generated from device, which is compared to TOTP generated in Intella Investigator. These two TOTP need to match in order to log in the user. In order for Intella Investigator to generate the same TOTP as the user’s device, system clocks on both need to be synchronized.

The TOTP is generated from secret key. This secret key is generated at the time of enabling 2FA and is shown in user interface during 2FA setup. By scanning the QR code or entering the secret key manually, the same secret key gets added to the device. There are therefore two places in which the secret key resides. The authenticator application is responsible for security of the secret key on device side. The location of secret key in Intella Investigator side is described below:

The secret key and verification flag are stored in file C:\Users\<USERNAME>\AppData\Roaming\Intella Investigator\auth\users.xml

in the following line:

<profile username='testuser' key2fa='hk5dv-dgyJJVxibjjwuBr0ilRNaX7O4VraeGXLCR8pg0nS-z545_op2u7kQTJLeV' tfaverified='true' oauth='false'/>

Attribute username denotes the user. The secret key is stored in encrypted form in attribute key2fa. The verification flag is stored in attribute tfaverified.

If there are unexpected issues with 2FA and it cannot be disabled by the user in user’s dashboard and by administrator in users view, then it can be disabled by the following steps:

  1. Create back-up of file users.xml and then open it in a text editor.

  2. Find the profile tag that corresponds to the user.

  3. Remove attributes key2fa and tfaverified.

  4. Save the file.

Example after removing the attributes:

<profile username='testuser' oauth='false'/>

After removing the attributes, Intella Investigator needs to be restarted in order for user to have 2FA disabled.

Two-factor authentication in virtualized environment

Users have reported issues with the use of two-factor authentication where Intella Investigator is hosted in Hyper-V virtualized machines (VM). This would manifest itself by users getting error message "Wrong credentials provided. Please try again" when they type in their 2FA code. It would happen intermittently. Disabling and re-enabling 2FA would solve the issue temporarily, but it would re-occur after few days.

This turned out to be due to the following reasons:

  • The VMs were configured to use Hyper-V default time synchronization server settings - ‘VM IC Time Synchronization Provider’.

  • The primary domain controller (PDC) was not configured to synchronize its time from an external source.

  • The PDC was not configured to be the primary time synchronization provider for the domain.

The solution was to do the following steps:

  • Configure the PDC to be the primary time synchronization provider and have it synchronize its time with an external source, such as time.google.com or public time providers.

  • Time synchronization settings of all other VMs are then altered to obtain their time from the PDC – making sure that the time of all the VMs in your environment is always aligned.

The following article explains the issue and solution in more detail: https://serverfault.com/questions/486593/hyper-v-time-sync-for-vm-domain-controller

8.3.6. Locking and unlocking accounts

Accounts can be locked, which will prevent those users from logging in. Locked accounts can be unlocked by an administrator.

To lock one or more accounts, select them and then click on Lock button.

Select user

Modal window will be shown to confirm the locking action. After confirming, selected account(s) will become locked.

Similarly, to unlock one or more accounts, select them and then click on Unlock button.

Select user

Modal window will be shown to confirm the unlocking action. After confirming, selected account(s) will become unlocked.

An account can become automatically locked due to failed log-in attempts. For more information see section Account lockout policy. An administrator can decide to manually unlock such account and can do so in this view using the Unlock button.

8.4. Managing Roles and Permissions

Roles and permissions can be managed in its own view. Click on Roles and permissions in the top submenu in the Intella Investigator Dashboard.

Intella Investigator comes with a set of predefined permissions that can be assigned to any of the roles defined by the server administrator. It also comes with the following default roles:

  • Administrator

  • Investigator

  • Examiner

  • Case manager

The default roles are added only when authorization configuration does not exist, i.e. auth.xml file does not exist and needs to be created by Intella Investigator. If Intella Investigator is being migrated to a newer version, then these default roles will not be added.

Each default role comes with several permissions assigned to it. They can be easily reviewed and modified in the Roles and Permissions matrix. An example of its state is presented below:

Default role

In this section we only manage roles and their permissions. The last step will be to assign some roles to users in a context of given case, but this task is performed in the Cases sharing panel.

The Administrator also comes with few default permissions assigned to it. Those allow to manage all cases handled by Intella Investigator and also manage users and modify crucial server settings. This role cannot be removed or altered. Moreover, the user "admin" has this role assigned by default and it cannot be revoked from this user. This prevents situations where administrators would accidentally lock themselves out from access to Intella Investigator by not leaving a single user with server management permission. The user "admin" is also the first user to create roles for other users with server or case management permissions and assign them.

8.4.1. Backwards compatibility notes

If you are migrating from a previous versions of Intella Investigator, then it may happen that the RBAC model will be upgraded to a newer format. Some permissions may be added, some others may get removed. The details about each migration is always added to the Release Notes document published with each version.

This automatic conversion affects the auth.xml file located in the product’s home directory. A backup file with the name auth.xml.bak-* will be created automatically and it could be used to revert RBAC model to a state prior to migration. This should almost never be required, though.

After this conversion is done switching back to older versions of Intella Connect can result in clearing all roles and permissions previously defined. If this happens user can recover part of the RBAC model structure from the mentioned backup file, however changes made to the model after it has been created will not be preserved. Therefore we strongly advise to back up home directories before upgrading or downgrading the software.

8.4.2. Adding and Deleting roles

To add a new role, click on the Create role button. You will be asked for a name for the new role. Roles names should be unique. Additionally, it is possible to choose an existing role from which permissions will be copied to this new role. When choosing Blank role to copy from, then this will create a new role without any permissions.

The new role will be immediately visible in the table.

Create new role

After a role has been added and copy permissions from blank role was chosen, then it does not have any permissions assigned to it. It is also not assigned to any user automatically. This means that after a role has been added, it does not affect effective user permissions yet.

Roles can be deleted by clicking on Delete role button and then selecting them in the list. You will be asked for confirmation, after which the role will be removed from the table. Deleting a role does not mean that this deletes the permissions associated with it, as those are defined by Intella Investigator itself.

Deleting a role that was already assigned to some user will have an instant impact on the user’s permissions, they will be recomputed instantly. This will happen even if the case is currently being shared.

The default roles listed in Managing Roles and Permissions cannot be removed. Similarly, default roles cannot be added again. Duplicates of roles cannot exist, so it is not possible to add a role if it was already added.

8.4.3. Granting and Revoking permissions

Granting (or adding) and revoking permissions works very similar to roles management. Remember that permissions are always managed in a context of a role, so the permissions assigned to it will be shown as checked in the role’s column.

Permissions have their own unique internal IDs which are hidden from the view, so in the first column you can see a more human-readable description that should immediately let you know what that permission stands for. Clicking on checkbox to make it checked in row of a desired permission in column of desired role will assign that permission to the role.

Some permissions can be added to a role just once (like case access), other can be assigned multiple times (like reducing access to tagged items). In the latter case, you will be asked to add additional data which is needed by the permission to fulfil its purpose. Again, for the example of limiting access to tagged items, you will be asked to supply the tag name so that Intella Investigator knows which tagged items are considered off-limits for users with that role. The user interface should render some hints as you proceed, making the process fairly straightforward.

Granting a new permission for the mentioned example is illustrated below:

Granting permission

Revoking a permission works similar to deleting a role. You will be asked for a confirmation, after which the permission should disappear from the permission column. This will have an immediate impact on the role that it was assigned to.

8.4.4. Permission types

Below is the list of permissions currently available in Intella Investigator. We intend to add more permission types to this list in future releases.

Analysis:

  • Can manage and execute case tasks - allow case reviewers to create, edit, delete and execute automated tasks. Lack of this permission will cause the Tasks side panel to be inaccessible.

  • Can manage background tasks - allow users to create/delete background Tasks.

  • Can perform email threading - enables Email Threading action in contextual menu of Details panel of the Search view. Using this feature allows emails to be grouped into Email Threads, as discussed in Email threading.

  • Can run Image analysis - enables Image Analysis action in contextual menu of Details panel of the Search view.

  • Can use Intella Assist - allows users to use Intella Assist supported features:

    • Intella Assist facet

    • Intella Assist chatbot in previewer

Case access:

  • Can access a case - this permission allows users to access a given case. If a user does not have this permission for a certain case, he will not be able to get past the login prompt.

Case management:

  • Can manage a case - user with this permission will have access to Intella Investigator Dashboard, specifically, sections Cases, Activity stream and About. The cases list will be showing only those cases to which user with (role having) this permission is assigned. Additionally, cases which have been shared where user is only a reviewer will also be shown in cases list, however, such user will not be able to manage it.

  • Can manage all cases and authorize reviewers - user with this permission will have access to Intella Investigator Dashboard, specifically, sections Cases, Activity stream and About. The cases list will be showing all available cases.

  • Can manage own cases and authorize reviewers - user with this permission will have access to Intella Investigator Dashboard, specifically, sections Cases, Activity stream and About. The cases list will be showing only those cases of which this user is the creator. Additionally, cases which have been shared where user is only a reviewer will also be shown in cases list, however, such user will not be able to manage it.

Collaboration:

  • Can see components showing activities of other users - allow reviewers to see the following components listing activities of other users:

    • Dashboard view > Activities widget

    • Report view > Activity

    • Secondary Navigation Bar > Activities

  • Can send and receive Instant Messages - allow users to access built-in Instant Messaging feature. Lack of this permission will cause the Instant Messaging side panel to be inaccessible.

Exporting:

  • Can download original item - allows users to download items in their original format.

  • Can manage exports - allows users to create export sets.

  • Can print item report - allows users to print a PDF report for an item rendered inside the Previewer.

Identities:

  • Can create Identities - allows users to create new Identities

  • Can delete Identities - allows users to delete existing Identities

Server administration:

  • Can configure servers in Intella Grid setup - allows users to access GRID management features

  • Is an Administrator of this Server - allows users to access Intella Investigator Dashboard, specifically, sections User management, System notifications, Settings and About.

Tags:

  • Can create new tags - allows users to create new tags.

  • Can delete tags and taggings from other reviewers - users having this permission will be allowed to delete tags and taggings created by other reviewers. In previous versions of Intella TEAM, only Case Manager was allowed to do that. Now this action is available to every user having this permission.

  • Can edit all tags - allows users to edit tags, even if they were created by other user.

  • Cannot see items tagged with…​ (this one needs an extra parameter: a tag name) - this permission allows for hiding certain items from certain reviewers, while letting others see the entire data set. Please read more below.

UI tabs:

  • Main UI: can use Dashboard - allow users to access Dashboard view.

  • Main UI: can use Events - allow users to access Events view.

  • Main UI: can use Explore - allow users to access Explore view.

  • Main UI: can use Identities - allow users to access Identities view.

  • Main UI: can use Images - allow users to access Images view.

  • Main UI: can use Report - allow users to access Report view.

  • Main UI: can use Search - allow users to access Search view.

8.4.5. Note on "Cannot see items tagged with…​" permission

This permission must be used with an extreme caution because in case of any user error it can lead to disclosing of privileged items.

One must observe that the data is always organized in a tree-like hierarchy, where child items are linked to their parents. This tightly relates to the data consistency and opens an interesting question. If only the parent of an item is hidden, where to Location Facet should place its children?

To avoid such purely theoretical debates Intella Investigator will hide an item along with all of its descendants when using "Cannot see items tagged with…​" permission.

Consider this: user A is granted with this permission (for "Privileged" tag) in a data set of 100 items. 10 of those items are tagged with the "Privileged" tag. One of these privileged items has 5 children, e.g. attachments or nested items. This means that user A will be able to see 85 items from this data set (10 + 5 = 15 items are hidden). The privileged 15 items will not show up in the cluster map, search results, facets, etc. If tagged items contain child items, they will be filtered from the results as well. User A will also have no access to the "Privileged" tag in the Tags facet, so he cannot himself modify it to change what he can or cannot see.

Introduction of hierarchical tags in Intella Investigator has caused for this mechanism to be extended as well. Since now "Privileged" tag can be anywhere in the tag tree structure, then all tags (and items tagged with them) in a tag subtree starting with this tag will also be considered hidden. Also, tag names are no longer guaranteed to be unique in the entire tag tree. Therefore if there are several tags called "Privileged", all of them will be managed by this set of rules.

Using this permission will also cause exporting and downloading parents of restricted items to be blocked. This is done in order to prevent accidental disclosure of restricted attachments and child items. In such case the appropriate message is shown and the action is aborted.

Disclaimer about limiting access to items.

Use of this permission should be undertaken with caution in order to prevent leaking of sensitive data. We advise users to test this solution thoroughly before using it in production. It is also important to apply a proper workflow when limiting access to items. For instance, creating an export set first and later applying restrictions to items is a potential leak of information, because the export set could have included privileged items before any restrictions were applied. Also, if a user with access to privileged items adds them to an export package, they become accessible to all other users with access to that case and with the exporting permission. Moreover, using this permission requires much more processing power to be used on filtering intermediate results for various parts of the case database. It can also invalidate some of caches that are put in place to speed up delivering results. Therefore one must be aware that using this permission on larger cases can cause them to behave much different comparing to when this permission is not used. Finally, using permissions to hide privileged items does not mean that those items are removed from the case. They are still present in the case database, but simply excluded from the results and hidden in the user interface for those users not entitled to view them. Therefore a clever attacker could still try to gain access to privileged data by attempting various attacks or malicious usage of communication channels. We advise to conduct a thorough security audit before giving case access to untrusted parties.

8.4.6. Assigning roles to users

It is important to understand that Roles can be assigned in 3 ways:

  • Roles are assigned to users per case. This means that a user can have different roles in different cases. In Intella Investigator each user can have zero, one or many roles assigned to it in any given Case. To assign roles to users per case, click on Cases in the top menu in the Intella Investigator Dashboard, select a case and then click on Authorizations button:

Assign roles to users per case

  • Roles are assigned to users globally. Only certain permissions can be assigned to users globally and such permissions are related to server or case management. To assign roles to users globally, click on Users in the top menu in the Intella Investigator Dashboard, Assignments sub-menu and then Global authorizations button:

Assign roles to users globally

  • In the assignments tab:

Assignments tab

The assignments tab provides an overview of users assigned to roles in particular cases. In addition to showing an overview, it also allows searching, filtering and narrowing down the view to see how particular case, user or role is assigned:

  • To search for particular cases, use the case filter:

Assignments tab case filter

  • To search for particular user account, use the account filter:

Assignments tab filter filter

  • To show only particular role, use the role filter:

Assignments tab role filter

  • Cases which have at least one user account assigned can be shown by using "hide cases without assignments" filter:

Assignments tab filter without assignments

  • Cases which don’t have any user account assigned can be shown by using "hide cases with assignments" filter:

Assignments tab case filter with assignments

The above filters can be used in combination with each other.

To assign roles to users per case, click on any accounts box in row of given case:

Assignments tab manage assignments

8.5. Seats management

Intella Investigator uses per-seat licensing. The number of seats determines how many users can access shared cases simultaneously.

Default number of available seats in Intella Investigator is four.

For determining of whether a seat is occupied or not the following rules applies:

  • A seat is consumed as soon as a user accesses a shared case.

  • When the same user accesses another case, an additional seat is not consumed.

  • When the same user access any case from another location (different IP) a seat is consumed.

  • Accessing the case with Intella Viewer will not occupy any seat.

  • Seats are consumed on a "first come first server" basis.

Current overall status of the seats can be observed by clicking on Users in the top menu of the Intella Investigator Dashboard and then selecting Seats sub-view.

The view is further broken down into these three sections:

  • Overview section - general overview of occupied seats

  • Details section - detailed overview of occupied seats

  • Terminate user session section - makes it possible to forcefully terminate any user’s session

8.5.1. Overview section

Shows basic information about occupied seats:

  • Total seats - number of all seats

  • Available seats - number of seats that are currently not occupied

  • Occupied seats - number of seats that are currently occupied

  • Currently blocked users - number of users that are currently blocked

Currently blocked user count represents users that tried to access any of the cases in the last minute but were blocked due to seat limit.

8.5.2. Details section

There you can find detailed information about current status of occupied seats.

Each row represents user/client occupying a seat. Essentially that means that number of rows will always be equal to the number of occupied seats. First column contains username including IP of the machine from where Intella Investigator was accessed. Second column represent current length of the session. All additional columns represent cases which are being accessed. The green marker is used to indicate which case is accessed by which user representing matrix view of all occupied seats/cases.

The users/clients are ordered by the length of the session ascending.

If same user will access the case from two different IPs at the same time, he will effectively occupy two seats.

8.5.3. Terminate user session section

This section makes it possible to forcefully log out another user effectively freeing a seat.

This action will log out user without any prior notification so please use only when there are no other means to free the seat.

9. Sources

Sources are one of the key concepts of Intella Investigator. They represent the locations where items such as emails, documents and images can be found. Sources are explicitly defined by the user, providing full control over what information is searched.

Sources can be added to a case, edited or removed from a case on the Sources page. This page can be accessed from Cases list, by selecting a case and then click on Sources button.

go to Sources view

Sources view consists of three main components:

  • case operation panel

  • sources list

  • source details panel

Sources management

The component on the top shows the current status of case sources operation being performed on Intella Node. As soon as the Sources view is loaded, it will connect to Intella Nodes defined in the system and check if any case operation is being performed there. If it is, then appropriate statistics of the current operations will be presented. If none of Intella Nodes report processing the case, then Ready to manage case sources message will be presented. This component also allows to Manage decryption Key Store. If your sources are password protected, then you can define encryption methods here. Here you can also Manage custom columns, which may enrich the items' model defined in the case. If there are any statistics for the last case operation available, then clicking on Last statistics button will allow you to browse them.

Beneath, on the left side, the list of your case sources is presented. Initially, it will be empty. The buttons in the top bar allow you to change the contents of this list. Usually the first thing to do on a clean case is to click on the Add new button to add the first source to a case. Once some sources are defined, you can select some to see additional actions being enabled. These are:

  • Edit - allowing to change certain source-specific settings

  • Exceptions - allowing to download items exceptions report for selected source(s)

  • Indexing > Re-index - allowing to completely rebuild case database for selected source(s)

  • Indexing > Index new data - allowing to scan existing, selected source(s) to determine if it contains new data requiring indexing

  • Remove - allowing to remove selected source(s) (along with items which they produced) from the case

To select multiple sources at once, click on them with CTRL button pressed.

As soon as a source is selected, the source details panel will show up on the right side. This panel shows you basic information about various details of the currently selected source.

Most of case sources operations (like Re-indexing) will require available, idle Intella Node to do the actual processing. Therefore Intella Investigator will show a modal dialog asking you to select one of idle Intella Nodes available in your system.

Available nodes selector

9.1. Source types

Intella Investigator distinguishes between various types of sources. The Add New Source wizard organizes them in two rows : sources dealing with local evidence files on the top and sources dealing with cloud or server-based data on the bottom ;

The supported types are:

  • File or Folder: A single file or folder with source files on a local hard drive or on a shared/network drive. Such source files could be:

    • Regular loose files like MS Word, Excel, and PDF files.

    • Email containers such as MS Outlook PST/OST, HCL/IBM Notes NSF files, Mbox files.

    • Cellphone XML and UFDR reports such as made by Cellebrite UFED, MicroSystemation’s XRY and Oxygen Software’s Forensic Suite.

    • Even large containers like EDB files and disk images can be indexed this way, together with many other files in one go. The downside of doing this is that any EDB- or disk image-specific configuration options are not available this way.

  • Load file: A Concordance, Relativity, or CSV load file.

  • Hotmail Search Warrant Result (experimental): a collection of files in HTML and other formats, provided by Microsoft pursuant to a search warrant.

  • Disk Image: One or more disk images in E01, Ex01, L01, Lx01, S01, AD1, AFF4, VHD, VHDX, AVHDX, VMDK, X-Ways or DD format.

  • MS Exchange EDB Archive: a single MS Exchange EDB file.

  • Vound W4 Case: A case created in the Vound W4 application.

  • IMAP account: An email account on an IMAP email server.

  • Dropbox: all files stored in a personal Dropbox or DropBox for Business account.

  • Google: A Google account: Gmail, Drive, Contacts, Calendars and Tasks.

  • Microsoft 365: The complete contents of a Microsoft 365 account, incl. the Outlook, OneDrive and SharePoint services of that account.

  • iCloud: The complete contents of an iCloud account, incl. iCloud Drive, Mail, Calendar, Contacts, and other services.

  • AWS S3: The complete contents of an Amazon AWS S3 bucket.

Notes on mail formats
Intella Investigator/Node supports PST and OST files created by the following versions of Microsoft Outlook: 97, 98, 2000, 2002, 2003, 2007, 2010, 2013, 2016, 365. Make sure that Intella has exclusive access to the PST or OST file; it cannot be open in Outlook or other application at the same time.

Intella Investigator/Node will try to recover the deleted items from the file. Recovered items will be placed in a special folder named <RECOVERED>. Furthermore, Intella may encounter items outside the regular root folder. Any such items are placed in a special folder called <ORPHAN ITEMS>. Recovered emails may contain traces of other emails. This should be considered when reviewing such items.

Orphan items may contain unreliable data. For example, some orphan items can contain pieces of the message body, and message metadata from different emails. This may be due to the way the email client caches message data in the email container.

You should consider whether this information should be included in exports. Some clients may not want this information exported due to its unreliable nature.

To index NSF files, HCL/IBM Notes 8.5 or higher needs to be installed. For NSF files made with HCL/IBM Notes 9 it is recommended to install HCL/IBM Notes 9. Intella supports all NSF files that can be processed by the installed HCL/IBM Notes version. Make sure that Intella has exclusive access to the NSF file; it cannot be open in a Notes client or other application at the same time. Only NSF files containing emails are supported by Intella, all other types are not supported. Make sure to use a default Notes installation and user configuration. A "corporate" Notes installation is often problematic for indexing, e.g. because of installed plugins interfering with access to the NSF file, the installation being tied to the corporate identify management system, etc.

The HCL/IBM Notes tool nupdall.exe can be used to convert older NSF files to NSF files that can be processed by HCL/IBM Notes 8.5 and higher.

Notes 9.0.1FP8 or higher needs to be installed to decrypt messages in a non-encrypted NSF.

Intella Investigator/Node supports Windows 10 Mail mailboxes, provided that the account uses the POP protocol. Accounts that use the IMAP protocol are not supported, as only POP accounts store mails locally. Furthermore, Windows 10 mails do not keep track of BCC-ed email addresses and of the email headers.

Intella Investigator/Node supports DBX files created by the following versions of Microsoft Outlook Express: 4.0, 5.0, 6.0.

Intella Investigator/Node has been tested on Thunderbird Mbox files.

Intella Investigator/Node supports MS Exchange EDB files of Exchange versions 2003, 2007, 2010, 2013 and 2016.

Some items may turn out to only contain email headers and are lacking an email body. Examples of such items are messages typically sent back by mail servers to indicate undeliverable mails, e.g. due to an unknown recipient or a mailbox quota that has been reached. Such items are typed as "Email Headers" rather than "Email Message".

Notes on cellphone formats
When indexing Cellebrite, MicroSystemation or Oxygen cellphone reports, each report should be in its own subfolder. Any additional files that were produced together with the XML report, such as audio, video, and image files, should have the same relative location to the XML file as the exporting application produced them. These two requirements are crucial for correctly linking the binary files with the XML report. Finally, no other evidence files should be placed in these folders, as they will be ignored.

The folder should reside in the local file system or in a disk image, i.e. not in a ZIP file or other type of archive, as quick random access is needed to be able to process the files linked from this report.

A folder with the XML report and its related files can in principle be indexed straight away. However, most XML reports will often only contain the external numbers related to the calls and messages, i.e. the number of the phone itself is not in the report. This has valid technical reasons (e.g. it cannot be guaranteed that the current SIM card was used for these calls and messages), but it makes analysis of the communication a lot harder. Also, Intella functionalities like message deduplication require this information. When the investigator knows the number, e.g. obtained from the network provider, it may be specified through a separate text file:

  1. Create a text file named after the XML report. For example, if the report is called report.xml, the text file should be named report.numbers.txt.

  2. Put it in the same folder as the XML report.

  3. Store the phone’s own number in this file.
    When the XML report holds information about multiple phones, enter the number of each phone on a separate line, like this:
    number1
    number2
    …​

  1. The first line will be used for the first phone found in the report, the second line for the second phone, and so on.

When indexing XRY’s XML reports, we recommend using the Extended XML report introduced in XRY 6.4. This new format solves many issues with the encodings of dates and other fields. Furthermore, the older XML format did not support exporting binary items. To get binary items with the Extended XML report, you need to select the "Export media files and manifest" option.

The XML formats used by these cellphone extraction vendors are often evolving over time and are not fully documented. While we strive to extract all information from these reports as completely and correctly as we can, we can only offer this functionality on a best-effort basis. We recommend that you verify any results that you may rely on in your report with the original cellphone extraction software. Please let us know if you find any issues with processing reports made with a certain version of a cellphone extraction suite, and we will add that version to our development roadmap.

Notes on instant messages
When instant message items (SMS/MMS/iMessage/Skype/Jabber/etc.) have a timestamp and the sender and receiver(s) are all known, Intella will bundle all messages of that group of participants into "conversation items". A conversation item bundles the messages between a group of people on a day-by-day basis. All messages of a single day are now placed below each other in the Previewer’s Contents tab, rather than being presented as one message per item. Hyperlinks are provided to navigate to the previous and next day in the conversation.

Compared to emails, instant message texts are typically very short and do not contain the previous thread. Therefore, bundling messages in this way greatly improves reviewing of instant messages.

Other instant messages, which do not have enough metadata to be bundled into conversations, will be reported as conversations consisting of a single message.

Notes on IBM Sametime dumps
IBM Sametime dumps must be located in the local file system or in a disk image, i.e. not in a ZIP file, as quick random access is needed to be able to process the files linked from this report.

Common file locations
MS Outlook PST and OST files are typically located in the following folder:

  • Windows Vista, Windows 7, Windows 8/8.1, and Windows 10:
    C:\Users\<username>\AppData\Local\Microsoft\Outlook

  • Windows 2000 and XP:
    C:\Documents and Settings\<username>\Local Settings\Application Data\Microsoft\Outlook

MS Outlook Express DBX files are typically located in the following folder:

  • Windows 2000 and XP:
    C:\Documents & Settings\<username>\Local Settings\Application Data\Identities\
    \{<arbitrary string>}\Microsoft\Outlook Express

HCL/IBM Notes NSF files are typically found in the following folder:

  • Version 7.x:
    C:\Program Files\Lotus\Notes\Data

  • Version 8.x:
    C:\Program Files\IBM\Lotus\Notes\Data

  • Version 9.x and 10.x:
    C:\Program Files\IBM\Notes

  • Version 11.x:
    C:\Program Files\HCL\Notes

Notes on cloud sources
Each of the supported cloud services (Dropbox, Google, SharePoint, and Microsoft 365) provides a so-called REST API for data retrieval. Access to a cloud service via this API often requires an authorization token, rather than or in addition to a username and password. Each cloud service provides a web portal where users can register the client application (in this case: Intella) and obtain the authorization token.

Depending on what the REST API supports, Intella uses read-only data operations wherever possible, as to minimize changes to server-side data. Nevertheless, access may be visible to the cloud service and to the account holder, e.g. due to the presence of an authorization token in the server settings, access logging, altered metadata, etc.

Notes on document length
The indexing of a document text for keyword search can consume a considerable amount of RAM. With multiple documents being processed in parallel, this carries the risk of one of Intella’s processes running out of memory. To combat this, Intella imposes a maximum length to the document text. This way, typically problematic textual files such as large server logs and database dumps in CSV format can be processed without terminating the indexing abruptly.

By default, the maximum length is set to 50M (52,428,800) characters. Any text beyond that point is skipped. Consequently, the document will not be returned when using query terms that only occur after this point. Affected documents can be located using the "Exception Items" category, "Truncated text" branch in the Features facet.

The limit can be adjusted on a case-specific basis via the case.prefs file. Make sure to close the case before making this change in order for it to take affect. For example, alter or add the following line to set the limit to 100M characters:

ItemTextMaxCharCount=100M

Open the case and check the logs for the following message: Using X characters as text indexing limit as specified by the ItemTextMaxCharCount property.

A good indication that the new parameter was applied is this line in the logs.

Also, by default, the maximum length of the raw data is set to 5M (5,242,880) characters. Any raw data fields that exceed this limit will be skipped. Items with truncated raw data will be marked as "Exception Items / Truncated text". The raw data limit can be adjusted via the case.prefs file. For example, this will increase the limit to 10M:

MaxRawDataSizeMB=10

A future Intella Investigator/Node version will make this configurable via the user interface. The limit can also be adjusted globally via the IntellaNode.l4j.ini file:

-Dintella.itemTextMaxCharCount=100M

9.2. Adding sources

Adding sources is done with the Add New Source wizard. It can be opened by clicking on the Add new button on the Sources page. The first page of the wizard allows selecting the type of the new source, which is illustrated below:

Add Source Wizard

9.2.1. Note on source locations

When providing paths to evidence make sure to use locations which are accessible for both Intella Investigator as well as selected Intella Node on which indexing operation will be performed.

9.2.2. Files and Folders

Follow these steps to add a File or Folder source to Intella Investigator:

  • Source type

    Select "File or Folder" source type and click "Next". A folder tree will be displayed next.

  • Specify file or folder

    Select the folder or file from the tree that you want to index, or enter the folder or file name in the text field above the tree. When selecting a folder, all files in the selected folder will be indexed. When the "Include subfolders" checkbox is selected, files in all subfolders (and sub-subfolders, etc.) will also be indexed. When the "Include hidden folders and files" checkbox is selected, hidden files and folders will be indexed as well.

Folder trees containing many items may take some time to be displayed. Please be patient.

Click "Next" to continue.

The last steps in the definition of a source type are almost the same for all types. They are described in section Last steps in a source definition.

Though disk images can be added and indexed via File or Folder source, there is a limitation on the maximum number of parts (files). For E01 format the maximum number of parts is 4,831 (e01-e99, eAA-eZZ, fAA-kZZ), for other EnCase formats (L01, Lx01, Ex01) the maximum number is 775 (L01-L99, LAA-LZZ). If the disk image contains more parts then it is strongly recommended to use Disk Image source type instead.
Multi-part archives (ZIP and RAR) are currently not supported. Such archives should first be extracted and then the native files can be added as a source and indexed.

9.2.3. Load files

The built-in export and import templates "Intella Standard Relativity Export (All Columns)" and "Intella Standard Relativity Import" can be used to export items and re-import them in another case, effectively creating a subset of the original case. Please note that not all metadata fields are supported.

Follow these steps to add a load file to an Intella Investigator case:

  • Source type

    Select "Load file" source type and click "Next".

  • Import load file

    • Select the import operation: New Data or Overlay. When New Data is selected, Intella Investigator will import new items to the case. An Overlay operation is used to import tags, comments and tag columns into existing items.

    • Add the file name and location of the load file that you wish to investigate; use the tree component to browse for the file. If the load file comes with an Opticon image file, then you should specify it in the "Opticon image file" field.

    • Specify the source name.

    • Specify the custodian. If the custodian information is stored in one of the columns, then leave the text field empty and use the column chooser on the "Map fields" page instead.

    • Specify the time zone. By entering the time zone, all dates associated with items from this load file will be displayed in that time zone, rather than the time zone of the investigator’s system.

    • You can use a previously saved import template.

    • Click "Next" to continue.

  • Configure delimiters

    On the "Configure delimiters" page you can set the file encoding and delimiter settings for:

    • Column delimiter – the character that separates the columns in the load file.

    • Text qualifier – the character that marks the beginning and end of each field.

    • New line – the character that marks the end of a line inside a text field.

    • Multi-value delimiter – the character that separates distinct values in a column.

    • Escape character – the character that is used for escaping a separator or quote.

    • Strict quotes – sets if characters outside the quotes are ignored.

    • Use absolute path – select this option when the load file uses absolute paths rather than relative paths.

      You can click the Detect button when you are not sure about the encoding used in the load file.

      You can specify date, time and number formats in the right part of the screen. The Size unit option allows to change the way how the Size field is imported.

      Intella Investigator will validate the load file using these settings and display the validation result in the status line. When the file can be validated successfully, the number of columns found in the load file will be displayed. When validation fails, a reason will be given in this line.

      The "Load file preview" table can be used to make sure that you have specified the correct parameters for the load file. Additionally, the "Image preview" panel will show the first image associated with the selected table record. It can be used to ensure that the Opticon file is correctly loaded. The "Text preview" shows the raw text of the load file and can be used to check the delimiters.

      Click "Next".

  • Map fields

    • Overlay options: this is only used when Import operation is set to Overlay. See the "Importing an overlay file" section for details

    • External files:

      • Select the "Load native files" checkbox if you want to import original format files associated with the load file into the case. Specify the column containing the paths to the native files. When the native files are imported, you will be able to use functions such as Preview tab and Open in External Application.

      • If you select the "Extract type information from native files" check box, then Intella Investigator will analyze the native files and import the type information into the Mime Type and Type columns. This option may be useful in case the load file does not have any type information such as File Extension.

      • Select "Load extracted text" when you want to import the extracted or OCRed text of the document. Select the "Extracted text column is a link to an external file" checkbox when the column contains a link to the text file rather than the text itself. Select "Analyze paragraphs" to let Intella Investigator determine the paragraph boundaries and to let it build a database registering which paragraph occurs in which item and where (see section Last steps in a source definition for more details). When the extracted text is imported, it will be shown in the Contents tab of the Previewer.

    • Field mapping – You can see the Field chooser in the bottom part of the panel. The table on the left shows all fields in the load file ("Load file field") and the Intella columns they are mapped to. In the table on the right you can see the list of all Intella columns available for mapping. To map a column:

      • Select one of the load file fields on the left.

      • Select one of the columns on the right.

      • Click the left arrow button. That will move the selected column from the right to the left table.

        Click the right arrow button to remove the selected mapping.

        When the load file contains a field that cannot be mapped to any existing columns, then you can create a tag or custom column and map the field to it. Click the "Add" button to add a new column to the right table. Click the "Remove" button to remove the selected column. Note that a tag or custom column can only be removed if there is no data in the case associated with it. Tag columns should only be used for importing tag-like data where the number of unique values is not high. In all other cases custom columns should be used instead.

        Click the "Clear all" button to remove all the selected columns from the right table. Click the "Save template" button to save the current settings as an import template which can be reused later. Select the "Extract text and metadata from native files" checkbox when you want to extract the text and metadata from the native file. The button with a gears icon can be used to adjust the processing options. See Last steps in a source definition section for more details about the processing options. Note that Intella Investigator will replace any original metadata from the load file with the new metadata extracted from the native file. The option is turned off by default.

        It is highly recommended to resolve all errors by clicking the "Check for errors" button before importing the load file. That will let Intella Investigator validate the load file using the entered settings. Among other things, it will check each row and ensure that:

    • The Document ID is unique and not empty.

    • The Parent ID refers to an existing record.

    • Native and extracted text paths are correct.

    • Date and time fields can be parsed using the selected date and time formats.

    • The MD5 field contains a valid MD5 hash.

    • Number fields such as File Size and Page Count contain a valid number.

    • Boolean fields such as Encrypted and Decrypted contain either "true" or "false".

    • The Source IP field contains a valid IP address.

    • Type information is present for all records. Either directly via columns such as Mime Type and File Extension or via other mechanisms such as "Detect type from native".

      Select the "Skip error records" checkbox to instruct Intella Investigator to skip items with errors during import.

Date and time values (separate columns) will be merged into one column.

Important notes on load file importing

There are several aspects to be aware of when importing a load file into an Intella Investigator case:

  • All paths in the load file to external resources should be relative to the load file, unless the "Use absolute paths" checkbox is selected.

  • The original load file record identifiers will be imported into the "Document ID", "BegAttach / Parent ID" and "EndAttach" columns and can be used in a subsequent load file export.

  • Imported images can be viewed in the "Image" tab in the Previewer.

You can save the specified load file import options as a template for later usage on the last page using the button Save Template. All import templates are stored as XML files in the "<Intella Home Folder>import-templates" folder.

9.2.4. Hotmail Search Warrant Results

This source type is still in an experimental stage. We welcome any feedback; please visit our support portal at http://support.vound-software.com/.

Follow these steps to add a Hotmail Search Warrant Result to Intella Investigator:

  • Prepare evidence files

    The evidence files you have received may consist of a folder containing a "Click Here.html" file and some legal files related to the search warrant, with a subfolder for each account involved. It may also be that you have only one of those account subfolders, recognizable by a "Folders.html" and "Messages" file in this folder. In case you have received a ZIP file or some other type of archive file, please unpack this archive file first.

  • Source type

    Select "Hotmail Search Warrant Result" source type and click "Next".

  • Specify file

    Select the folder holding the Hotmail Search Warrant Result files that you wish to investigate in the folder tree. Make sure to select the top-level folder of the provided file collection. Click "Next" to continue.

The last steps in the definition of a source type are almost the same for all types. They are described in the section Last steps in a source definition.

9.2.5. Disk Images

Follow these steps to add a Disk Image source to Intella Investigator:

  • Source type

    Select "Disk image" source type and click "Next".

  • Select disk image file

    Click on the Browse button to navigate the folder tree in order to select the disk image file. You can also paste the location to the input field. Once an image is specified Intella Investigator will automatically detect other parts of this image, if there are any. You will see basic information about discovered paths and total disk image size.

Select "Verify hashes for AFF4 images" to verify hashes in AFF4 physical disk images during the disk image validation. If a hash mismatch is detected in a physical image, the disk image validation will fail and an error message will be shown. Please note that AFF4 physical image hash verification may take some extra time.

Note that the hashes for AFF4-L logical images are always verified during indexing. If a hash mismatch is detected in a logical image, it will be reported as an indexing error and can be found in the Exception report or Exception items facet.

Select "Carve unallocated space" to enable file carving. File carving is the process of reassembling computer files from fragments in the absence of filesystem metadata. Intella Investigator uses Testdisk and Photorec to recover deleted files from unallocated areas of the disk image. See https://www.cgsecurity.org/wiki/PhotoRec for more details.

These are some important details about file carving in Intella Investigator:

  • Testdisk and Photorec are not included and need to be downloaded either manually or automatically. See the Node configuration section for how to validate and configure File Carving.

  • File carving is supported with a Disk Image source only.

  • Only E01 and Raw (DD) images are supported.

  • Photorec will be run with "freespace" option. That means only the unallocated areas of the disk image will be processed.

  • A photorec state file (photorec.ses) may be created in the folder with the original disk image. It is required by the Photorec software. The file can be safely deleted when the indexing is finished.

  • The carved files will be placed in the top-level folder called <CARVED_FILES>. Also, these files will be marked as "Recovered / Carved from unallocated space" in the Features facet.

After you click Next button in the wizard footer, Intella Investigator will validate selected disk image. This process may take long time depending on the complexity of the data.

If the disk image contains encrypted volumes, such as BitLocker or APFS, a notification will be shown instructing to update Keystore of this case with matching passwords or recovery keys to access the image.

  • Select folders to process

    Specify folders that need to be processed. Initially Intella Investigator will only show the first three levels of the folders. If you wish to load all folders in the disk image, press the "Load all" button. Note that scanning all folders in the disk image might take a while.

The last steps in the definition of a source type are almost the same for all types. They are described in the section Last steps in a source definition.

A single disk image source should only contain the files relating to a single conceptual image. Files relating to a different image should be entered as a separate source.

Filtering disk image content

A disk image often contains a lot irrelevant files, such as executables, DLLs. These files add to the processing time and disk space that the case will consume. It is possible to define a set of rules to filter out unnecessary files and folders, to save processing time and disk space.

Filtering disk image content is not possible for DMG images.

Note that search results can also be filtered after indexing, using the Hide Irrelevant filter option in the Details tab.

Supported disk image formats

The Disk image source type supports EnCase E01, Ex01, L01, Lx01 and S01 files. Password-protected files are supported and indexed without manual interaction, except for FTK-encrypted files.

DD images are supported, but when a Folder source is used, they need to use the .dd file extension to be detected and processed as DD images. Because of potential issues with DD image detection, we recommend using the Disk Image source directly. This is also required when you want to index a multi-volume DD image

Supported file systems and partition types

The following file systems have been tested: FAT16, FAT32, ExFAT, NTFS, Ext2, Ext3, Ext4, HFS, HFS+, APFS and ISO 9660. Other file systems such as YAFFS2, ISO 13346 (UDF), UFS 1 and UFS 2 may work but have not been tested yet.

MBR and GUID partition tables (GPT) partitions are supported. Apple Partition Maps (APM) have been tested but results were mixed. When an image cannot be indexed, we recommend mounting it manually and indexing the mounted drive using a “File or Folder” source.

APFS and BitLocker encrypted volumes are supported. When an encrypted volume is detected, a dialog will be shown where it’s possible to enter a password or recovery key. BitLocker volumes with suspended protection (also known as "clear key") will be indexed automatically without a password prompt. If a BitLocker volume is protected with multiple keys, you can enter any key.

Multi-volume files

When using a Folder source to index multiple image files, Intella Investigator will rely on the following file name convention to determine which files together make up a single image:

image1.e01        (first volume of image 1)
image1.e02        (second volume of image 1)
image1.e03        (third volume of image 1)
…
image2.e01        (first volume of image 2)
image2.e02        (second volume of image 2)
image2.e03        (third volume of image 2)
…
image2.e99        (99th volume of image 2)
image2.eaa        (100th volume of image 2)
image2.eab        (101st volume of image 2)
…

Volume shadow copies

Enabling volume shadow copies processing might considerably slow down the indexing process.
Volume shadow copies can only be processed when using the Disk Image source. If disk image is added via File or Folder source, volume shadow copies will not be processed.

Volume shadow copies (VCS) is a mechanism in Windows OS that preserves previous versions of files in a special hidden area on the disk. A new VSC snapshot is often created automatically by Windows when installing major system updates or drivers.

When Intella Investigator detects that the disk image contains VCS, the Specify Volume Shadow Copies page will be shown. On this page you can select specific snapshots that need to be processed.

By default, Intella Investigator will only extract the files that were changed between snapshots. That allows to save a lot of processing time and disk space by not indexing the same file several times:

  • Select the "Prefer oldest files" option to extract all files from the oldest snapshot and only the changed files from the newer snapshots.

  • Select the "Prefer newest files" option to extract all files from the current file system and only the changed files from the older snapshots.

Intella Investigator uses the last modified date of the file to determine whether it has changed. It is also possible to take the last access date into account.

The "Has Shadow Copies" option in the Features facet can be used to see all items that have other versions in shadow copy volumes.

To see all items extracted from all volume shadow copies, use the "Recovered → Recovered from volume shadow copy" option in the Features facet.

9.2.6. MS Exchange EDB Archives

Processing an EDB archive may require to adjust memory settings. Please see the "Memory settings" section for detailed instructions.

The currently supported MS Exchange versions are 2003, 2007, 2010, 2013 and 2016.

Follow these steps to add a MS Exchange EDB Archive source to Intella Investigator:

  • Source type

    Select "MS Exchange EDB Archive" source type and click "Next".

  • Specify EDB file

    Specify the location of the EDB file you wish to investigate either by typing it’s location or by selecting it in the folder tree. Click "Next" to continue.

  • Select mailboxes

    Check all mailboxes that you wish to process. Click "Next" to continue.

The last steps in the definition of a source type are almost the same for all types. They are described in the section Last steps in a source definition.

When an EDB source has been added and not all mailboxes were selected, it is still possible to index additional mailboxes in that EDB file at a later stage. To do that, the following steps should be performed: 1. Click on the "Edit" button for the respective source on Sources page. 2. Indicate which mailboxes should be processed. Note that you cannot unselect or remove already processed mailboxes. Click OK. 4. Use the "Index new data" button option to index the new mailboxes.

9.2.7. Vound W4 Case

This source type lets one import an entire case created with the Vound W4 application into the current Intella Investigator case.

Follow these steps to add and process a W4 case source:

  1. Source Type
    Start the Add New Source wizard from the Sources view. Select "Vound W4 Case" and click Next.

  2. Select W4 Case
    Click the Browse button to specify the location of the "case.json" file in the root folder of the W4 case that you wish to add. After the file is selected, Intella Investigator will validate the W4 case and check its availability. Once it has validated successfully, click Next to continue.
    Note that the case cannot be imported while it is still open in W4. If case validation fails with a "W4 case is currently in use" message, close W4, click Back to return to the Source Type selection page, then click Next and Browse…​ to select the "case.json" file again.

  3. W4 Case Options
    On this page, you can specify which parts of the W4 case data should be imported. Furthermore, you can configure post-processing tasks to enhance the original W4 data in Intella Investigator.

    • Tags
      Import the tags assigned to the items in W4 case.

    • Item notes as comments
      Import the notes assigned to the items in W4 case and represent them as Intella Investigator comments.

    • Keyword Lists
      Import all keyword lists from the W4 case.

    • Auto-tag items using imported keyword lists
      When keyword lists are imported from the W4 case, this option performs auto-tagging of all items with these keyword lists (see the "Keyword Lists" section for details).

The last steps in the definition of a source are almost the same for all types. They are described in the section "Last steps in a source definition".

W4 cases that contain a local disk source cannot be imported by Intella Investigator. Such functionality may be added in a future version.

9.2.8. IMAP accounts

The IMAP standard is implemented in many ways. Furthermore, some mail servers may throttle the network connection during mass downloads. We tested Intella Investigator on several IMAP servers with good response. However, we cannot guarantee that Intella Investigator can create IMAP account sources for every IMAP server.

We recommend using a mail client to download the entire mailbox and indexing the resulting PST or Mbox file instead, rather than using Intella Investigator to download the mailbox. This way a copy of the mailbox is created outside of the case. This results in a cleaner and better auditable workflow, allowing e.g. cross-validation of the investigation results with other forensic tools or indexing with future Intella Investigator versions.

Follow these steps to add an IMAP Account source to Intella Investigator:

  • Source type

    Select "IMAP account" source type and click "Next".

  • Specify account

    Enter the settings for the target email account, e.g., "mail.my-isp.com" with the username and password. Select the "use secure connection (SSL)" checkbox if you want or need a secure connection to the mail server. This is recommended, because without a secure connection your password will be sent as plain text. Click "Next" to continue.

  • Select folders

    In the next step, Intella Investigator will contact the specified email server to retrieve the folder tree of the target mail account. You can then select the folders that you want to make searchable by placing a check in the box next to the desired folders. When you want to index subfolders, you will need to select them; otherwise they will be ignored. The wizard has two convenient buttons for selecting and deselecting all folders. Click Next to continue.

The last steps in the definition of a source type are almost the same for all types. They are described in the section Last steps in a source definition.

9.2.9. Dropbox accounts

A Dropbox source reconstructs the entire folder tree in a Dropbox account and downloads current and past revisions of the files in the account.

The official Dropbox REST API used by Intella Investigator limits this to a maximum of 10 revisions per file. All revisions except for the last one have their file names decorated with the revision identifier. Furthermore, additional Dropbox-specific metadata is retrieved for both files and folders. These are displayed in the Previewer’s Raw Data tab and are subject to full-text indexing.

Intella Investigator uses the OAuth2 (Open Authorization) protocol to access the account. Prior to defining the source, the investigator needs to obtain an OAuth2 token for the account.

This process is described in detail in the following Knowledge Base Article: Collecting data from a DropBox source.

Next, follow these steps to add a Dropbox source to Intella Investigator:

  • Source type

    Select "Dropbox" source type and click "Next".

  • Connect to Dropbox

    Follow steps from the knowledge base article to fill required fields.

    Click Next to continue.

  • Select files or folders

    Besides indexing of the entire account, it is also possible to index specific files or folders only. The next wizard sheet shows the folder tree of the account. Nested folders are loaded on demand when the parent folder is expanded. Click the checkboxes of the desired files or folders. Selecting a folder automatically marks all nested elements as selected.

    Click Next to continue.

The last steps in the definition of a source type are almost the same for all types. They are described in the section Last steps in a source definition.

9.2.10. Google accounts

A Google source allows to download items from the following Google services:

  • Gmail

  • Drive

  • Contacts

  • Calendars (including tasks)

  • Chat

  • Meet

More Google services will be added in the next versions.

Different services require different APIs to be enabled:

  • Gmail - Gmail API

  • Drive - Google Drive API

  • Contacts - People API

  • Calendars - Calendar and Tasks API

  • Chat - Google Chat API

  • Meet - Google Meet REST API

Optionally, the set of retrieved items can be restricted to a certain date range.

Benefits of using the Google/Gmail source over the generic IMAP source are: faster performance, more accurate data representation (e.g. folders vs. Gmail’s Labels, threads), and a read-only data connection ensuring that no data is altered on the server.

Intella Investigator uses the OAuth2 (Open Authorization) protocol to access the account. Prior to defining the source, the investigator needs to obtain an OAuth2 token for the account. The token will be downloaded as a JSON file, which Intella Investigator can use to access the account. This process is described in detail in the following Knowledge Base Article: Collecting data from a Google source.

Next, follow these steps to add a Google source to Intella Investigator:

  • Source type

    Select "Google" source type and click "Next".

  • Select Google services

    Select "Google" services and click "Next".

  • Connect to Google

    Click the Select button and select the JSON file saved above in the file chooser that opens. Alternatively you can also drag and drop this file directly to the file upload box. Click Connect to Google.

    A connection will be established and the token will be validated. A browser window will automatically open, through which Google will request permission to continue. If the token validation is successful, basic information about the account such as the account owner’s email address and the total number of emails will be shown beneath the OAuth2 File field.

    Note the Help button below the upload box. Clicking it will display the steps required to create the OAuth2 file.

    Click Next to continue.

  • Select folders

    If the selected services support folder selection, you can select specific folders to download. At the moment two services support folder selection: Drive and Chat.

  • Select items to index (date range)

    Select whether all items are to be downloaded or whether a date filter is to be applied. If so, enter the desired date range.

    The end date is included, so that items on that day are also retrieved. Both the start and end dates are optional, making it possible to enter a half-open date range, e.g. "all emails since May 1st, 2015".

    Click Next to continue.

The last steps in the definition of a source type are almost the same for all types. They are described in the section Last steps in a source definition.

9.2.11. Microsoft 365

The Microsoft 365 source types allows for retrieving both user account and user groups. For each user account, used to access Microsoft 365, the source can retrieve data from Outlook, OneDrive and SharePoint. For each user group, the source retrieves titled conversations containing emails.

Before a source can be added, the Microsoft 365 account must be properly configured. This process is described in detail in the following Knowledge Base Article: Collecting data from a Microsoft 365 or a SharePoint Source.

Once the credentials are established, follow these steps to add a Microsoft 365 source to Intella Investigator:

  • Source type

    Select "Microsoft 365" source type and click "Next".

  • Connect to Microsoft 365

    Enter the username, password and client ID obtained above. Click Connect to Microsoft 365.

A connection will be established and the credentials will be validated. If credentials validation is successful, basic information about the account such as the tenant name and location will be shown beneath the configuration fields.

Note the Help button at the top of the screen. Clicking it will display the steps required to create the client ID.

Click Next to continue.

  • Select items

    The next screen shows the available accounts. Select the accounts that you wish to retrieve.

Selective indexing of part of the account data is not possible at this moment.

Click Next to continue.

The last steps in the definition of a source type are almost the same for all types. They are described in the section Last steps in a source definition.

9.2.12. iCloud

The iCloud source type is used for indexing the contents of an iCloud account, such as emails, photos and notes.

Prior to defining an iCloud source, the investigator must obtain the Apple ID and password used by the account owner. When the account has been configured to use two-factor authentication (2FA), iCloud additionally sends a verification token. The verification token is sent only if a valid phone number is set for the Apple ID. Hence, the investigator needs to have access to one of the physical device (an iPhone or an iPad) associated with the account, including the passcode to unlock the device.

Intella Investigator supports the retrieval of the following data from an iCloud account:

  • Contacts

  • Emails

  • iCloud Drive

  • Reminders

  • Calendar

  • Event notifications

  • Photos

  • Account settings

  • “Find my phone” data

  • Notes

Follow these steps to add an iCloud source to Intella Investigator:

  • Source Type

    Select "iCloud" source type and click "Next".

  • Connect to iCloud

    Enter the Apple ID and password of the account. Click Connect to iCloud.

When this account requires two-factor authentication, Intella Investigator will extend the form with an option to choose the verification delivery method: SMS or Idmsa.

Both methods are equally capable of providing access to the account’s data. When the account is linked to an iPhone and/or iPad, the Idmsa method is recommended. When the account is linked to a non-Apple device (e.g. a cellphone or tablet from a different vendor), SMS is the only way to obtain the verification code. Even when using an Apple device, SMS can be selected as the preferred method for delivering the verification code. In that case, the registered device may receive multiple notifications from Apple’s identify management service (IDMSA). Such notifications should then be ignored and the code from the SMS message should be used.

Choose the desired delivery method and click Get Verification Code. A six-digit verification code will be either sent as an SMS or show up as a native iOS notification on the Apple device. The controls for choosing the delivery method will be replaced by a Verification Code field. Enter the received verification code in this field. Click Connect to iCloud.

When the credentials and the verification code are all valid, Intella Investigator will list some account info such as the Full Name of the account owner. Click Next to continue.

  • Select items

    In the next step, the available iCloud services for this account are listed. The user can choose whether to retrieve one or more specific services, or whether to retrieve all account data.

The last steps in the definition of a source are almost the same for all types. They are described in the section Last steps in a source definition.

When Intella Investigator establishes a connection to iCloud using the account credentials, it will obtain a trust token. This token allows Intella Investigator to connect to iCloud at a later point in time without requiring the user to re-enter the credentials and perform any two-factor authentication steps. The trust token has a limited validity period. iCloud sources can be indexed and re-indexed during the validity period of the token. Once the token has expired, the source must be re-created; there is no way to refresh the token of an existing source.

Documents in Keynote, Pages and Numbers format are converted by the iCloud web service to MS Word, MS PowerPoint, and MS Excel format respectively when they are retrieved by Intella Investigator. Processing of the documents in their native format may be added in a future release.

The Notes branch currently lists Note items in a flat list; folders are not reported. This may be addressed in a future release.

9.2.13. AWS S3

An AWS S3 source reconstructs the entire folder tree in the selected S3 buckets and downloads current and past revisions of the files.

All revisions except for the last one have their file names decorated with the revision identifier. Furthermore, additional S3-specific metadata is retrieved for both files and folders. These are displayed in the Previewer’s Raw Data tab and are subject to full-text indexing.

Prior to defining the source, the investigator needs to obtain an access key for the account. This process is described in detail in the following Knowledge Base Article: Creating AWS access keys.

Next, follow these steps to add an S3 source to Intella Investigator:

  • Source type

    Select "AWS S3" source type and click "Next".

  • Connect to AWS

    Follow steps from the knowledge base article to fill required fields.

    Click Next to continue.

  • Select buckets

    Besides indexing of the entire account, it is also possible to index specific buckets or folders only. The next wizard sheet shows the folder tree. Click the checkboxes of the desired buckets or folders.

    Click Next to continue.

The last steps in the definition of a source type are almost the same for all types. They are described in the section Last steps in a source definition.

9.2.14. Additional options

In version 2.7 of Intella Investigator, some new source wizard sheets have been moved to "Additional options" section. This change streamlines new source creation as only some required options are necessary for source creation. Additional options will have defaults set and can be changed by simply clicking on the sheet and changing the option. Additional options will appear once completed source definition sheet is reached, by settings required options and clicking on next button.

Additional options

9.2.15. Last steps in a source definition

The following final steps are the same for all source types.

Source name and time zone

In the Source Name and Time Zone sheet you are asked to enter a name for the source. The name will be shown in the list of sources in the Sources panel and functions purely as a label for your reference.

Furthermore a suspected system base time zone can be entered. This setting indicates the time zone of the system from which the evidence file(s) were obtained. By entering this time zone, all dates associated with items from this source will be displayed in that time zone, rather than the time zone of the investigator’s system. This often makes it easier to correctly interpret those dates, e.g. determine whether a given timestamp falls inside regular business hours. By default, the local time zone is used for new sources. Time zones supporting Daylight Savings Time (DST) are marked with an asterisk (*).

File type settings

In the File type settings sheet you can specify which item types need to be included in the case. Leave the checkboxes selected for those types or categories that you want to include in the case, and deselect the checkboxes for those you want to be excluded.

Excluded items will be added as stub items that only contain the item’s type and file name (if available).

Items embedded in excluded items will still be processed and included. An example: if there is an email with a PDF attachment and the email item type is not included, the attachment will be processed as usual. The parent email will be added as a stub item.
For technical reasons it is not possible to select the following types: Exchange EDB, Internet Explorer History File (ESE DB) and Windows Search Database. Instead, you can select their parent type: Microsoft ESE database.
File name filters

In the file name filters you can specify file name patterns that need to be excluded from processing. File name filter can include ? or * characters to represent a single or multiple wildcard characters. Examples: .exe, case-main-.log. Excluded items will be added as stub items that only contain the item’s type and file name (if available). Note: items embedded in excluded items will still be processed and included. You can also choose whether filtering applies either to all items or unknown items only.

MD5 Hash Filters

MD5 hash filters can be used to exclude items that have a specific known MD5 hash from a case. The so-called "De-NISTing" of evidence data is the most well known application of such hash lists: it excludes many files that belong to the operating system or common software applications from your case. But you can also add other types of MD5 hash lists, or create your own.

When selecting one or more of the hash filters for the source, Intella Node will ignore any items that have an MD5 hash that is in at least one of the filters. After the source has been indexed, such items will not be visible in your case. A future Intella Node release will add the ability to add "stubs" for such items.

The list of MD5 hash filters shown in add new source wizard is shown as detected by Intella Investigator. This allows adding a source without indexing it right away. That means, however, that in order to index such source, Intella Node will need access to MD5 hash filters that were selected when adding that source. It is therefore recommended that the path in which Intella Investigator and Intella Node look for MD5 hash filters is via a shared folder. The shared folder type required when setting path to MD5 hash filters is Configuration type. See section Intella Investigator Dashboard > Shared folders for more information.

Intella Investigator can only view list of MD5 hash filters. The list that Intella Investigator detected can be seen in menu → Settings → MD5 Hash Filters view. The path in which Intella Investigator looks for MD5 hash filters can be seen in Hash filters folder, which is by default a local disk path. This can be changed to a shared filter as mentioned above.

MD5 hash filters

Likewise, the list of MD5 hash filters that Intella Investigator detects can be seen in menu → Servers → Nodes → click Configure button on a node panel → MD5 Hash Filters view. The same applies to Hash filters folder of Intella Node as mentioned above.

Node MD5 hash filters

After configuring both Intella Investigator and Intella Node to use shared folder, which points to MD5 hash filters location, the list of MD5 hash filters will be the same. Alternatively, if shared folder will not be used, then the hash filters will need to be copied manually between Intella Investigator and Intella Node in order to be able to use MD5 hash filters during adding or re/indexing source.

Intella Node can create an MD5 hash filter from a CSV file, where the MD5 hash is encoded as a hexadecimal value. To do so, navigate to menu → Servers → Nodes → click Configure button on a node panel → MD5 Hash Filters view. Click "Create" button to open the "Create MD5 hash filter" dialog. After specifying the path to the CSV file, Intella Node will analyze the CSV file and show you the values for the first few lines. If there’s a single column that contains MD5 hash values then that column will be automatically selected. After specifying an appropriate name for the hash filter you can start the filter creation by clicking "Create hash filter".

Intella Node can process plain CSV files, but also CSV files that are compressed using ZIP or GZIP. Processing the files in compressed form is often preferable as the uncompressed files can be very large (multiple gigabytes).

The Reference Data Set (RDS) that is made available by the National Institute of Standards and Technology (NIST) comes in the form of an ISO file. You will need to extract the NSRLFile.txt.zip file that is stored in this ISO. This NSRLFile.txt.zip file is a ZIP-compressed CSV file that can be processed by Intella Node. You can find the most recent versions of the RDS at https://www.nist.gov/itl/ssd/software-quality-group/national-software-reference-library-nsrl/nsrl-download/current-rds. For the "Modern RDS" set the "minimal" version is the smallest download that still contains the complete set of hashes.

Any MD5 hash filters that you create will also be available for use in other Intella cases. They are stored in the folder C:\Users\<USERNAME>\AppData\Roaming\Vound\Intella\hash-filters (click Open folder to open this folder in Windows Explorer). The files in this folder can be copied to/from other computers to make them available there as well. Clicking Rescan folder will update the list of available filters.
Deleting MD5 hash filter files will affect the ability to re-index other cases that use the same hash filter.
Items

Intella Investigator makes the indexing of certain complex file types optional. You can disable this to improve indexing performance at the cost of fewer results.

  • Select Index mail archives if you want to extract all emails and attachments from mail archives like PST and NSF files. Subsequent processing of documents, archives and other items found in the attachments are still subject to the other options.

  • Select Index chat message if you want to index chat messages inside Skype SQLite databases, Pidgin accounts and Bloomberg XML dumps. This also controls what happens with Skype, WhatsApp messages etc. in cellphone reports.

  • Select Index archives if you want Intella Investigator to index files inside archives such as ZIP and RAR files.

  • Select Index content embedded in documents if you want to extract images embedded in emails, MS Office, OpenOffice, XPS and PDF documents. This will make these images separately searchable and viewable.

  • Select Index databases to enable the indexing of all tables in SQLite databases.

  • Select Index Windows registry to make all keys and values in a Windows registry file searchable by full-text keyword search. When turned off, a limited amount of registry indexing necessary for populating the Insight tab will still take place. The overhead for this is negligible.

  • Select Index Windows event log to let Intella Investigator process the contents of Windows event log files (evtx).

  • Select Index browser history to let Intella Investigator process the contents of web browser histories.

  • Select Recover deleted emails, files and Notes deletion stubs to enable the processing of deleted emails from MS Outlook (PST, OST) and MS Exchange (EDB) files, deleted files and folders from disk images and deletion stubs in HCL/IBM Notes files (NSF).

  • Select Extract text fragments from unsupported and unrecognized file types to enable heuristic string processing on all items whose type is not recognized by Intella Investigator (they are binary blobs) or whose type is not supported apart from type detection (e.g., executable files).

  • Select Do not store binaries for items larger than to avoid storing binary data larger than certain size.

Options

This sheet provides additional options affecting the time needed for indexing.

  • Select Cache original evidence files to copy all evidence files into the case folder. Use this option if you want to create a self-contained case where the evidence files can be opened or exported even when they are not found in their original locations, for instance when the case is moved to another system).

When this option is turned on, additional processing time (especially for compression) and disk space is needed.

This setting has no effect on storing of the items extracted from these evidence files (e.g. the mails, attachments and other embedded items extracted from a PST file), as these are always stored in the case folder after extraction.

  • Select Analyze paragraphs to let Intella Investigator determine the paragraph boundaries and to let it build a database registering which paragraph occurs in which item and where. This enables various search and review options at the expense of additional processing time. The required storage space is negligible. For subsequent sources this setting is forced to be same as what has been used for the first source.

  • Present chat messages as option controls how chat messages will be represented - i.e. what kind of items will be produced: Conversations and Message, Only Conversations, Only Messages

  • Split chat conversations option controls how messages inside chat conversations will be bundled. Possible values are: Per day, Per week, Per month and Per year.

  • Limit number of messages per conversation controls the maximum number of messages that will be contained in each conversation. If this limit is reached, the conversation is split independently of Split chat conversations option.

Last two options will be visible only when Index chat messages option is turned on at the Items step.
Intella Investigator creates artificial Conversations items for easier review of conversations based on the two options above. Another reason for such approach is to make it possible to use AND, OR search operators when searching for multiple terms across the messages bundled inside conversation. Note also, that for each message contained in the conversation also separate Chat Message item is created. That makes it possible to annotate or export a particular message in isolation.
  • Select Enable execution of a crawler script to assign a custom script that will be executed for each processed item. Crawler scripts can be used for filtering out irrelevant items, data enrichment and integration with external systems. Supported languages: Java, Groovy and Python. See documentation and samples on GitHub page: https://github.com/vound-software/intella-crawler-scripts

Tasks

This sheet lets the user define post-processing steps that need to take place once all evidence files have been crawled and all indices have been build. See the Tasks section for more details.

Completed source definition

Finally you will be presented with a dialog to inform you that you have successfully defined a new source. You may optionally start indexing the source. Indexing is required to be able to search and explore the items in this source, but can be only performed on Intella Node. Once you click the Finish button, the indexing process will proceed according to the options you have selected.

If selected Intella Node instance detects that the case memory settings might not be adequate to perform the indexing process, a message similar to the one presented below will appear:

Node memory settings warnings

In case this validation process reports any issues it is highly advised to adjust the case memory and crawler settings before continuing. Indexing the case with wrong settings could cause the Intella Node to run out of memory which could have negative consequences on the case consistency.

Because the active indexing process prevents you from defining more new sources, you may wish to skip this part now (e.g., to define more new sources) and index the sources later by clicking the Re-index menu item in the Sources page.

At any time except before the step "Completed Source Definition," you can click the Cancel button to return to the Intella Investigator interface without having added a new source to the case.

Error message "Server response timed out" after adding a source to be indexed could be related to the network issues as Intella Investigator tries to add the source to the case, but does not complete this operation within a time frame. This time limit can be adjusted via the user.prefs file located in: %USERPROFILE%\AppData\Roaming\Intella Investigator\prefs . For example, alter or add the following line to set the limit to 5 minutes: AtomicCaseOperationIpcTimeout=300000, where the default value is 120000 milliseconds.

9.3. Indexing

After defining a source Intella Node can index it. During indexing it will inspect all items (emails, files etc.) that it can find in the source file(s), enabling Intella Investigator to return instantaneous results during your investigation for relevant evidence.

Having anti-virus software active during indexing can lead to certain items not being indexed. This will usually be restricted to the files that are blocked by the anti-virus software, but this cannot be guaranteed. Running anti-virus software may also affect indexing performance.

During indexing, Sources page will show you a panel displaying various types of information:

  • Statistics on indexing speed.

  • Statistics on encountered file types.

  • The amount of data that is being indexed and how much has been indexed already.

  • The number of indexing steps to perform, which current step is being performed and (for some steps) a progress percentage.

You can stop the index process at any time by clicking the Stop button. Intella Investigator/Intella Node will finish processing the current item and then complete its case databases with the information that has been extracted thus far.

For remote indexing example please take a look at the Using Intella Node section.

9.3.1. Note on finishing indexing operations

While an indexing operation takes place, the case remains opened and locked by Intella Node. During that time, running a different indexing operation is not possible. The case also cannot be opened for sharing. After the indexing operation is completed, the case will be automatically unlocked and can be shared by case administrators.

9.3.2. Re-indexing a case

There may be circumstances when you want to re-index individual sources or the entire case, e.g. to use extraction features offered by a newer Intella Investigator/Intella Node version or fix a broken index.

To rebuild the case index from scratch, choose one or more sources in the Sources view, click on "Indexing" button and use the Re-index option either for selected sources or entire case. Intella Investigator/Intella Node will remove all indices it has previously created and create new ones.

In order for this to work, all evidence files have to be present at the location they had during the initial indexing.

Re-indexing a case will cause Content Analysis and Email Threading results to be removed. These operations need to be re-run after re-indexing finished in order to make use of them.

9.3.3. Updating a case

Alternatively, there may be times when you want to update an index, e.g. in the following scenarios:

  • Files and/or folders have been added to folders that have already been indexed.

  • New sources have been defined but were not indexed immediately.

  • The set of mailboxes to index in an EDB source has been extended.

  • You interrupted indexing using the Stop button. See note below for caveat.

In these cases the "Index new data" option, shown when clicking on "Indexing" button in the Sources view will scan either the selected sources or all sources for new evidence items depending on what is chosen. Items that have already been indexed are not changed, also when their original evidence items are no longer available.

In a scenario when container file (e.g. PST file, ZIP file, or disk image) is being processed, and you interrupted indexing using the Stop button it may interrupt processing of that file, leaving it partially indexed. The "Index New Data" operation will not pick that up, it will only index new files, or files that have not been indexed at all yet. The partially indexed files will stay in that state. Re-indexing is required to fully index containers in this situation.

9.4. Automatic item decryption

Intella Node can automatically decrypt several file formats, if the required credentials are supplied before indexing starts. Therefore, you may want to uncheck the checkbox in the Add Source wizard that starts indexing and use the Re-index option (see above) after these credentials have been entered.

Intella Node will store decrypted versions of emails and documents in the case. For more details about exporting decrypted data see subsection "Preferred content type options" of section Exporting in the Reviewer’s manual.

9.4.1. Supported formats

The following file formats can be decrypted by Intella when the credentials are specified before indexing:

  • HCL/IBM Notes NSF files, including encrypted messages in non-encrypted NSF.

  • S/MIME- and PGP-encrypted emails, regardless of the container type they reside in (e.g. EML, MSG, PST, OST, NSF, Mbox, DBX).

  • PDF documents.

  • Old format MS Word documents (.doc), MS Excel spreadsheets (.xls) and MS PowerPoint presentations (.ppt).

  • MS Office 2007 formats (OpenXML): .docx, .xlsx, .pptx, …​

  • ZIP, RAR and 7-Zip archives.

  • Partial support for ZipX.

  • BitLocker volumes.

  • APFS file systems.

Furthermore, password-protected PST files can be automatically decrypted without specifying any passwords.

9.4.2. Supplying access credentials

To let Intella automatically decrypt the encrypted items that it encounters, their keys (passwords, certificates, etc.) need to be added to the Key Store first. Navigate to Sources page and click on Key Store button and follow the instructions below. Afterwards you can (re)index your data and let the items be decrypted automatically.

All credentials that you enter will be tried on all encrypted files to which they can apply. It is therefore not necessary to specify e.g. which password applies to which file or file type.

After indexing you can see which items were successfully decrypted by using the "Decrypted" category in the Features facet or by using the "Decrypted" column in the Details table. Note: due to technical reasons, decrypted NSF files will not be marked as such.

Password-protected files
Passwords are the simplest type of key. They are used for decrypting PDF and MS Office documents and archives.

You can either add passwords one by one, or load them in batch from a text file: specify a password per line and use UTF-8 encoding for the file.

HCL/IBM Notes NSF files
To decrypt HCL/IBM Notes NSF files, so-called ID files need to be added to the key store. Go to the "HCL/IBM Notes ID Files" tab and click "Add…​". Enter the location of an ID file and the password associated with the file. Click OK to add it to the store. Intella will validate the ID file to make sure you entered the password correct. Repeat this for all ID files.

Intella will also try to decrypt encrypted messages in non-encrypted NSF files using the provided ID files.

S/MIME-encrypted emails
To decrypt emails with S/MIME encryption, one or more X.509 certificates and private keys need to be added. Go to the "X.509 Certificates" tab and click Import, then select a PKCS12 archive file (*.p12 or *.pfx file) that contains the keys. Intella will analyze the key file and import all found certificates and keys.

Usually you can export the certificates and keys from a mail client in this format. Do not forget to include private keys as they are critical for decrypting the emails.

PGP-encrypted emails
To index PGP-encrypted emails you will need to import the PGP private keys. Go to the "PGP Keys" tab and click Import. Intella can import ASCII armored PGP private keys (*.asc files), but it is also possible to import key in binary format.

An ASCII armored PGP private key usually starts with the following text:

-----BEGIN PGP PRIVATE KEY BLOCK-----

Importing multiple .p12 files
At the moment it is not possible to enter multiple .p12 files in a single action, they need to be entered one by one. We have put this feature request on our roadmap for future development.

Please note that .p12 files can contain multiple certificates. Therefore, if your environment is able to export multiple certificates into a single .p12 file, or you can find a third party tool that merges them, you can effectively import multiple certificates at once.

Furthermore, note that you can copy the keystore files to another case. That way you can reuse the entered credentials if they apply to other cases/evidence sets as well.

Encrypted volumes in disk images
To decrypt BitLocker and APFS volumes in disk images, a correct password, recovery key, or recovery file needs to be added. Passwords can be added via the "Passwords" tab. "BitLocker Recovery Keys" and "BitLocker Recovery File" tabs should be used to add BitLocker-specific credentials.

Note that BitLocker images protected with other methods, such as a Smart Card or TPM, are not supported.

9.5. Custom columns

There may be a need to extract specific metadata fields and put them into separate columns. This is what the custom columns functionality can be used for. An example is extracting the "X-Mailer" header and putting it into a dedicated column "Email Client" column.

Custom columns are populated during indexing. Therefore, they need to be set up prior to indexing. If the custom column is added after indexing, re-indexing will be required to populate the custom columns.

To add Custom columns, navigate to Sources page and click on Custom columns button.

Click on the Add button to add a new custom column. Specify the name, description, and type of the column. The following column types are supported:

  • Text — The column can hold arbitrary text of any length.

  • Integer — The column can hold a whole number in range between -2,147,483,648 and 2,147,483,647.

  • Long Integer — The column can hold a whole number in range between -9,223,372,036,854,775,808 and 9,223,372,036,854,775,807.

  • Floating Point — The column can hold a 64-bit floating point number.

  • Boolean — The column can hold either True or False.

  • Date — The column can hold a date-time value.

The Extract Data section below shows which metadata fields will be used to populate the column. Click the plus sign button to add a new rule:

  • The Type option allows to restrict the rule to a specific file type or type category. By default, the type is set to "Any" which means that the rule applies to any item.

  • The From option defines where the metadata field comes from: Raw Data or Headers.

  • The Field option defines the name of the metadata field that should be extracted.

  • The Date Format option allows to specify a date format if this is a date column. The Language option can be used to tell which language should be used when parsing certain date elements, like day of the week or month names.

  • The Case Sensitive option can be used to specify whether the Field name is case sensitive.

It is possible to add more than one rule to a custom column. In this case the option below the table defines the way in which the extracted values should be merged. By default, the first non-empty value will be used. For text columns the values can also be joined together.

Once added, the new custom columns will appear in the column chooser of the Details table, in the Custom Columns section. The date columns will also appear in the Date facet panel, Histogram and Timeline views and can be used when defining Primary Date rules. Custom columns will also be shown in the Properties tab of the Previewer.

Custom columns are "locked" once any data is added to them. In other words, there is data in the case associated with these columns. Those columns can’t be edited or removed.

Examples of using custom columns:

  • Extract the email client information into an "Email Client" column:

  • Name: Email Client.

  • Type: Text.

  • Extract data from:

    • Type: Email Message

    • From: Headers

    • Field: X-Mailer

  • Extract the camera model information from JPEG photos into a "Camera Model" column:

  • Name: Camera Model.

  • Type: Text.

  • Extract data from:

    • Type: JPEG Image

    • From: Raw Data

    • Field: Model

9.6. Post-processing

After indexing has completed, the case owner can opt to refine the indexing results in a number of ways. These steps are kept separate from indexing as they typically contribute considerably to the processing time and disk space usage and, depending on the case at hand, may not be needed.

9.6.1. Tasks

Intella Investigator/Intella Node allows for the definition of "tasks". These are essentially compound processing steps such as searching for all items that match a certain keyword or keyword list and tag or export the results. These tasks can be defined and selected during source creation, which will run these tasks right after indexing. Tasks panel can be opened by clicking on the Tasks icon (three vertical progress bars) inside the Secondary Navigation Bar, which allows for defining and running the tasks at any point in time after index creation. See the tasks section for more details.

Each task consists of conditions, post-conditions and actions. A task must have at least one condition and one action.

A condition (Step 1 in the task dialog) defines a search query that select items from the case. Currently the following conditions can be defined:

  • A keyword search.

  • A keyword list search.

  • An MD5 list search.

  • An arbitrary Saved Search, which can combine all of Intella Investigator’s search facets.

  • A tag, possibly assigned by one of the tasks executed earlier.

  • A date range search on all date fields.

  • An OCR Candidates search. It allows to select various categories of images and documents that are usually subject to OCR.

  • All items search

A task may combine any number of conditions. The match option controls if the items should match all specified criteria or at least one of them, i.e. a Boolean AND or OR of the specified conditions.

An optional list of post-conditions (Step 2) specify how to transform the item set retrieved in the previous step. Possible post-condition steps are:

  • Deduplicate results

  • Identify parents of the retrieved items

  • Identify children of the retrieved items

  • Suppress irrelevant items

It is possible to define multiple post-conditions for a single task. The first post-condition is applied on the set of items resulting from the conditions in Step 1. Subsequent post-conditions are applied on the outcome of the preceding post-condition.

Finally, task actions (Step 3) define the operations that will be applied to the items resulting from the previous steps. The following actions can be defined:

  • Tag all found items with one or more tags. The tag(s) can optionally be inherited by items in the same family hierarchy and/or by duplicates of the found items.

  • Set custodian attributes.

  • Flag all found items.

  • Add a comment to all found items.

  • Export all found items using an export template.

  • Export the metadata of all found items to a CSV file. Click the Configure button to set the CSV file name and path and to select the metadata fields that are to be included.

  • Start an OCR process on the found items using the embedded ABBY Fine Reader, by connecting to an ABBYY Recognition Server or by running an external OCR tool.

  • Start a Content Analysis process on the found items for the selected entity types.

  • Start the email threading process on the found items.

  • Generate custom IDs for the found items.

Every task may define multiple actions that will be applied sequentially to the determined item set.

Tasks can be exported to a file so that they can be reused in other cases. These files are self-contained, i.e. when the task involves MD5 hash lists or keyword lists, these lists are embedded in the task file.

Tasks are executed in the order they have in the task list. This makes it possible to "pipeline" tasks, e.g. use one task to assign specific tags to a subset of the items and use a subsequent task that is based on those tags. The order can be changed by selecting a task and using the "Move Up" and "Move Down" buttons.

9.6.2. Custodians

The Custodian attribute can be assigned to items after indexing. This can be used to represent the custodian of the evidence items. To enable automated assigning of multiple custodians in a folder source, the root folder should organize the evidence in subfolders, one subfolder for every custodian. If the evidence folder is structured in this way, the "Indexing Tasks" step in the Source Wizard will contain a "Custodians" tab that opens the settings panel for automated assigning of multiple custodians. By default the custodian names are set to equal the subfolder names. It is possible to alter the used custodian names in the table. This Custodian value will be assigned to all items obtained from the evidence files within the respective subfolder. For other types of sources, the "Indexing Tasks" tab contains a text field for setting a single custodian name. Besides the above method, the Custodian attributes can also be set or changed using the "Set Custodian" indexing task with an arbitrary condition, or edited manually in the Details’ right-click menu.

9.6.3. Thumbnail generation

To improve the images loading speed you can pre-generate thumbnails after processing case sources. You can learn more about this in Reviewer’s manual > Preferences > Thumbnails Pre Generation .

9.6.4. Importing an overlay file

An overlay file is a file that contains additional information about the current items in a case. By importing the overlay file, the metadata of these items can be extended.

Intella Investigator currently only supports the importing of tags, tag columns, comments and metadata columns (both regular and custom). Importing overlay images, texts, and natives may be added in a future release.

The following file formats are supported for overlay files:

  • Concordance/Relativity load file (.DAT)

  • Comma Separated Values file (.CSV)

To import an overlay file you need to add another Load file source. Set the Import operation to Overlay and specify the location of the file. You can optionally use a previously saved template.

On the "Configure delimiters" page you can set the file encoding, delimiter settings and date formats. Please see the Load files section for a description of these options.

On the "Map fields" page you need to specify the identifier field and type. This is how Intella Investigator will match items in the overlay file with the existing items in the case. There are four options for matching items:

  • By Document ID, also known as DocID. This is the most common way to import new tags and comments into previously imported load file.

  • The Item ID is the internal item identifier used by Intella Investigator. This is the simplest way to process your data using an external tool and then import the result back into Intella Investigator.

  • By MD5 Hash. This is the most flexible way of matching items. Using the MD5 hash it is possible to transfer tags from one case to another. Note that the imported tags will be applied to all copies.

  • The Item URI is an internal item identifier that is not changed after re-indexing the case, but it may be changed when re-indexed with a newer Intella Investigator/Intella Node version due to changes in the crawling software. This method can be used to transfer tags when other options are not suitable, e.g. when migrating tags from a case backup to a live case that has been re-indexed in the meantime.

The “Also overlay metadata shared with duplicates” option is used to control whether the imported metadata will be applied to all duplicates as well (see the limitations below for this setting).

Current limitations:

  • Overlaying images, texts and natives is not supported.

  • Location and MD5 columns cannot be overlaid.

  • It is not always possible to overlay metadata for regular items, not imported from a load file. For example, if an item from a non-load file source has duplicates, then the overlaid metadata should be applied to all duplicates as well using the “Also overlay metadata shared with duplicates” option. Otherwise, the overlaid metadata might not be applied. There is no such limitation when overlaying data to items from a load file source. In this case, each record in the overlay is unique and the “Also overlay metadata shared with duplicates” option should be unchecked.

  • Metadata imported into regular and custom columns will be lost after re-indexing the case.

Please see the Adding sources > Load file section for a description of the remaining options on this page.

9.6.5. Content analysis

Content analysis can be scheduled to run either as an indexing Task or by a reviewer directly from a shared case. The later procedure is described in Reviewer’s manual > Details panel > Content analysis .

9.6.6. Email threading

Email threading can be scheduled to run either as an indexing Task or by a reviewer directly from a shared case. The latter procedure is described in Reviewer’s manual > Email threading .

9.6.7. Near-duplicates Analysis

A technique to reduce the reviewing time is Near-duplicates Analysis. It splits a selected set of items into groups based on the similarity of their text content. Every group is centered around a "master item" which is the most common near-duplicate for other items in the group (usually, an item with the largest text size). Other items are included in the group if they are determined to have an appropriately high similarity score to the master item. The similarity score is based on an amount of co-occurrent text fragments and is a number between 0.0 and 1.0. The master item and its exact duplicates are assigned a score of 1.0. The rest of the group items have scores between 1.0 and a threshold value specified by the user before the analysis.

To start the Near-duplicates Analysis process, select multiple items in the Details table and select "Near-Duplicate Detection" in the right-click menu. In the dialog window, move the "Similarity threshold" slider to set the desired minimum similarity score for items to be included in near-duplicate groups. Select the "Ignore excluded paragraph" option if you don’t want the content of excluded paragraphs to be considered by the similarity calculation algorithm.

The dialog window allows the user to select a text analysis method. We recommend choosing the "Word-based" option for documents written in languages in which the representation of meanings is contained in words. The “Character-based” option is intended for languages in which the semantic representation is represented by morphemes (Chinese, Japanese, Vietnamese, Korean). Typically, these are languages in which the use of white space characters is optional. Choosing the appropriate algorithm for a data set will improve the quality of the analysis results.

Near-duplicates Analysis

Upon completion, near-duplicate groups are available for search in the "Near-duplicates" facet (see Reviewer’s manual > Near-duplicates section for details). Additionally, "Near-Duplicate Group", "Near-Duplicate Master Item" and "Near-Duplicate Score" columns can be made visible in the Details table to show the group names, master item IDs and similarity scores of items included in near-duplicate groups.

To query for Near-Duplicates of specific items that are subject to Near-duplicates Analysis, select the item in the Details table , right-click, and choose "Show Near-Duplicates". This option will be enabled only when the selected item has at least one Near-Duplicate.

The total set of analyzed items and items included in near-duplicate groups can be retrieved via the "Analyzed for Near-Duplicates" and "Has Near-Duplicates" nodes in the Features facet.

9.6.8. Custom IDs

“Generate Custom IDs” task allows to assign each item a unique custom ID taking families into account. Such IDs can often then be used in load file exports. Or it can help to easier identify item position or role in its family.

Items are processed in hierarchical order starting from the roots and exploring as far as possible along each branch before backtracking (Depth-first search). Items that are on the same level of hierarchy are processed in the order defined by Sort Order setting. If the selected items don’t contain complete families, the task will add the remaining items automatically.

Click Configure button on the task action panel to configure the numbering settings:

  • Prefix defines the prefix for custom ID.

  • Start at defines the starting number. If the Auto option is selected, Intella Investigator will use the next available number for this prefix or 1 if the prefix has not been used before. The Manual option allows to set a custom starting number.

  • Number of digits defines the number of leading zeroes that will be used in the number.

  • Child numbering defines the way how child documents are numbered relatively to their parents:

    • Add suffix. Child document ID is derived from its direct parent ID by adding Child Suffix Delimiter (see below) and the child number starting with 1. For example, if the parent item is ABC123, then its children will be numbered as ABC123.001, ABC123.002 and so on.

    • Use sequential number after parent. Child document ID will use the next consecutive number after its parent. For example, if the parent item is ABC123, then its children will be numbered as ABC124, ABC125 and so on.

  • Child Suffix Delimiter defines the delimiter that is used to separate parent and child IDs when Add Suffix option is selected.

  • Sort Order defines the column by which items located on the same hierarchy level will be sorted by.

  • Family defines how Custom Family ID column is constructed:::

    • Use Parent ID. Custom Family ID is the custom ID of the top-level parent in this family.

    • Use Family Range (Start-End). Custom Family ID is the custom IDs of the first and last items in this family separated by hyphen.

  • If Overwrite Existing option is selected, Intella Investigator will overwrite any existing custom and custom family IDs.

Generated custom IDs can be used in load file export and can be imported from a load file.

Custom IDs don’t change when the case is re-indexed, provided that the case is re-indexed using the same version.

9.7. Showing Source Details

To see the configuration of a source, go to Sources page. When you click on a source from the list of sources, its details will be shown on the right side. The name, type and time zone are shown as well as source type-specific details such as files or folders to index, indexing options, etc. See the section on adding sources above for the precise meaning of these settings per source type. Presented properties are not editable.

9.8. Editing Sources

To edit the configuration of a source, go to Sources page. Select a source from list of sources. When you click on the "Edit" button, its editable fields will be shown in a modal window. The name and time zone are editable for every source. The rest of editable fields depends on the source type.

To save your changes click on the Apply button. If click the Cancel button then any changes you’ve made will be discarded.

9.9. Exceptions report

An indexing exceptions report can be produced by choosing one or more sources in the Sources view and clicking the Exceptions Report button. This produces a XLSX or CSV file that lists all items that had issues during indexing. This can range from minor issues such as date parsing problems to file corruptions that affect the entire item and all nested items.

For every item, the following information is listed:

  • The item ID. This can be used to quickly locate the item using View > Preview Item…​ The Previewer will also show a warning icon when displaying such an exception item.

  • The MD5 hash. This can be used to locate duplicates of the item within the case or in other cases.

  • The source to which this item belongs.

  • The file name, file size and detected file type of the problematic item.

  • The name of the source in which the item was found.

  • The location of the problematic item. This includes both the path to the containing evidence file (e.g. a PST file) as well as the path within that file (e.g. the mail folder and parent email, when the exception occurred on an attachment).

  • Information on the parent email if there is any: its item ID, the sender, sent date and subject.

  • A warning scope, warning code and warning description. The scope and code are the most useful for end users and are documented below. The description provides a low-level error message that is also contained in the log file and can be used for error diagnosis by Vound’s technical support team.

The warning scope indicates the type of data that is affected by the exception. Possible values are:

  • Item — the entire item is affected.

  • Text — the extracted text is affected.

  • Metadata — the extracted metadata is affected.

  • Embedded — embedded items such as attachments and archive entries are affected. An example is a document that internally references an embedded image but the image is not present in the file, resulting in an error when processing the embedded items of the document. In that case the document gets an error with "Embedded items" as the Warning Scope.

The warning code indicates the nature of the issue. Possible values are:

  • Unprocessable data — The data cannot be processed because it is corrupt, malformed, or not understood by the processor. Retrying will most likely result in the same result.

  • I/O errors — The processing failed due to I/O errors. The processing might succeed in a repeated processing attempt. There can be a lot of reasons for such errors, e.g. a drive that fails to respond, or permissions blocking Intella from accessing it. The indexing logs will have the full error. The difference with the other errors is that the reason is typically external to Intella, which is why retrying indexing may sometimes resolve the issue.

  • Decryption failed — The data cannot be processed because it is encrypted and a matching decryption key is not available. The processing might succeed in a repeated processing attempt when the required decryption key is supplied.

  • Timeout — The processing took too long and was aborted. See more details on how to configure crawler timeout in "Memory, crawler count and timeout settings" chapter.

  • Out of memory — The processing failed due to a lack of memory.

  • Processing error — The processing failed due to a problem in the processor. The description should contain the stack trace.

  • Truncated text — The item text was not fully processed due to one of the following reasons:

    • The item text was larger than the imposed item text limit and any additional text was ignored. See the Sources section for a description of this limit and how to alter it.

    • Binary content was removed from the item text. Intella will try to detect and remove so-called binary content from all processed text to reduce memory usage when processing corrupt or recovered files. It includes any control and non-printable characters that are not normally present in regular texts. Items with binary content removed will have an error description: "Binary content detected".

    • The item text could not be extracted because the format is not fully supported yet.

  • Crawler crash — The processing failed due to a crawler crash. This is a more severe error compared to the Processing Error type. When it occurs, Intella will also reject all items that are related to crashed item (e.g. PST file and all of the emails that it contains). More details about why the crawler crashed can usually be found in a hs_err_pid_XYZ.log file which is located in the case logs folder (one file per crash). Crawler crashes will not affect other items and the case integrity.

When an item has multiple exceptions, it will occupy several rows in the table.

During indexing Intella Node tries to prevent processing of duplicate items (detected by their MD5 hash), as their contents will also be the same. Therefore, an item may occur only once in the exceptions report, even though there can be many copies throughout the case.

All items that produced an exception during indexing can easily be found using the Exception Items category in the Features facet, with subcategories for the warning codes.

The XLSX variant of the exception report additionally holds the following information:

  • Number of exceptions per source, subdivided by the warning codes.

  • Overall statistics for the warning codes.

  • Source-level errors, e.g. broken PST files.

Besides holding more information, the XLSX variant is also better able to handle non-ASCII characters.

9.10. Removing Sources

To remove one or more sources, choose them in the sources list and click the Remove button above the list.

Source removal is an expensive operation. When multiple sources are to be removed, it is recommended to remove them all at the same time, as the total time required will be less than when the sources are removed one-by-one.

Sources can be added again after removal, by following the normal "Add Source" procedure.

Removing a source will remove:

  • The data, metadata, OCR results and (load file) images associated with the removed items, except for those that are still associated with item duplicates originating from other sources.

  • Any redactions and comments associated with the removed items.

  • All references to the removed items in tags, flags, batches, export sets, custodian sets and near-duplicate groups.

What remains after source removal are:

  • Refences to the source and the evidence items contained in the logs files.

  • References to the numeric item IDs in the event log.

  • MD5 hashes of item locations.

  • Metadata extracted by the email threading procedure, such as Message-ID headers and Conversation Index properties.

These artifacts are typically not visible to the end user but could be obtained by reverse engineering of the case files. Please consider this when handing over a case with removed sources to an opposing party.

10. SSL setup guide

10.1. Preface

This section explains how to configure HTTPS protocol for Intella Investigator/Intella Node.

In order to make it happen, you will need to acquire an SSL certificate either from a commercial or an internal provider in your company, but this is not the only step required. Therefore it’s important to read the rest of this guide before committing to getting a certificate.

While not strictly necessary, it is highly advised that the SSL configuration is left to a person with a sufficient knowledge and experience in creating and troubleshooting certificates.

10.2. SSL, TLS & HTTPS overview

In order to establish a proper vocabulary let’s start with a little recap of what HTTPS is. We are intentionally trying to simplify some concepts here, so that we don’t go out of scope of this guide.

By default, most of the web servers process the data using a plain HTTP protocol. This is the simplest setup to start with, but it is causing a serious security concern. If anyone were to have an access to the network where that data is physically sent through, he could easily capture and read it in its original form. To counteract that threat, a more secure protocol was invented and it is what we now commonly refer to as HTTPS. So HTTPS is serving the same purpose as HTTP protocol, but it encrypts the data between the client (browser) and the server (in our case - Intella Investigator). How this is achieved?

This protocol used to rely on an SSL (Secure Sockets Layer) standard, which got recently superseded by a more secure TLS (Transport Layer Security) protocol. Yet, the industry is still relying heavily on using the "SSL" acronym when talking about certificates and HTTPS.

At its heart, SSL is relying on two elements:

  • private + public key (asymmetrical) encryption

  • chain of trust

Putting the cryptographic details aside, a private+public key encryption relies on the fact that you can encipher some data using your private key and later decipher it using the public key. Those two come hand in hand. If the private key is never compromised then your data will be safe even if someone captures it, as there won’t be a way to read it. At the same time - you can give the public key safely to the entity whom you would like to decode the data.

This is already all that’s needed to establish a safe communication channel between trusted parties. But there is still one problem that had to be solved, before this solution could become a standard to rely on: exchanging keys. After all, how could you tell that the public key presented to you by your colleague is genuine? Perhaps an attacker had replaced it so that it matches the private key that he is in possession? This is where the chain of trust comes into a play.

The chain of trust in an SSL certification mechanism relies on a very simple, yet powerful rule: I can only trust a public key if it has been verified by an entity I myself trust. A naive, but very picturesque example would be getting a speeding ticket from a police officer. The police officer shows me his badge (public key), so I think I can trust him. But if I need to be certain of his identity I could call a local police department and verify if such badge number exists. But how do I trust the local police department? I could call a state police department and ask them for some proof of trust. But where does it end? At some point we all need to agree that there is some universal entity which can always be trusted. As long as there is no break in the chain, the entire chain is considered trusted.

Here is the important part: what you know to be defined as an SSL certificate is in reality a public key signed by some authority that you trust.

An SSL certificate is a file containing some information about your domain and organization for which it has been issued. Think of it as a business card. It can be used to encrypt and decrypt network traffic, but only if you also know an accompanying private key. It can only be trusted if you trust its issuer.

So by that time we already know that in order for the Intella Investigator server to implement HTTPS/SSL correctly it needs to know a few things, including the private key and not just the certificate itself. But where is all that information stored? After all, it needs to be properly protected. It’s typical for web servers to hold them as loose files, delegating the protection for the Operating System. But since Intella Investigator is written in Java programming language, it makes sense to leverage Java’s built-in container for sensitive information like that, which is called a Keystore. A Keystore is just a password-protected container, where you can store keys, certificates etc. Think about it as something similar but more sophisticated than a ZIP archive.

It’s the right time to establish some common vocabulary used throughout this guide.

  • Private & Public Key pair - essential part of the SSL protocol. Both are used when encrypting/decrypting the network traffic

  • Signed SSL certificate - a public key of some entity which has been signed by a trusted Certification Authority

  • Certification Authority (CA) / SSL provider - a public (commercial) or a private (ex. internal in your organization) entity which can issue (sign) SSL certificates

  • Chain of trust - a hierarchical structure of SSL certificates, where a certificate is always signed by another entity being one level up

  • Root CA - a regular CA which sits at the very top of the chain of trust. Those CAs are by default trusted by Java (main platform of Intella Investigator).

  • Intermediate CA - a regular CA which sits somewhere in the middle of the chain of trust

  • Keystore (Java Kestore) - a placeholder for files related to SSL encryption, such as private+public key pairs and SSl certificates.

Vound is not by itself a Certification Authority, therefore it cannot make or sign SSL certificates. It’s important to realize that some SSL provider external to Intella Investigator (usually a commercial one) will have to be engaged in order to generate a certificate. These certificates and keys need to be created and managed by you/your company.

10.3. Creating keystores in Intella Investigator

As mentioned in the previous section, in order to configure a secure HTTPS protocol in Intella Investigator you will need to create a keystore containing your SSL certificate as well as any auxiliary files it may require. A keystore is considered valid when:

  • it contains exactly one Private and Public Key pair

  • the certification chain belonging to this Key pair is trusted by embedded Java Runtime Environment

Intella Investigator has a built in UI which makes it easy to create, append, inspect, validate and remove keystores. It’s perfectly acceptable to have multiple keystores defined in the system, but only one can be active at a time. This can often be handy if your existing certificate is about to expire and you wished to create a new keystore and validate it before the old one can be deactivated.

Since Intella Investigator is relying on standard keystore format available in Java, it’s easy to find tooling which could help you to further customize the keystore contents. This could sometimes be handy when troubleshooting SSL certificate issues too. Two of the most commonly used, thirdy party tools we can recommend are:

10.4. Overview of the SSL settings UI

Keystores can be managed in a dedicated Settings section labeled SSL. This UI allows creating and managing as many keystores as you wish. That feature comes handy if you need to create new keystores for other domains or Intella Investigator/Intella Node servers. This is presented on the following question.

SSL settings

The top panel with a green padlock informs you that the SSL integration is enabled. When SSL is not active, the message would change to disabled and the padlock would be red.

The panel labeled Keystores contains a list of current keystores available in this Intella Investigator instance. It also offers button Add new keystore which opens a simple wizard. Each keystore is represented by a card listing basic information about it. Concretely:

  • Name - a unique, human friendly name of the keystore

  • Status - helper message informing you if the keystore is valid, or what needs to happen in order to make it valid.

  • From and To - represents a date range for which the SSL certificate in this keystore was issued

  • Expires - gives you a quick overview of how much time left before the SSL certificate in this keystore expires

  • Issued for - the domain for which the SSL certificate is issued, it should match the URL you are using to access Intella Investigator

  • Issued by - the name of the Certification Authority which signed the SSL certificate. For self-signed certificates that will be the same value as the Issued for field.

Besides that information each card will also contain buttons which allow you to run certain actions on given keystore.

It’s very important to remember that each action performed in this UI (ex. creating new keystore, adding certificates, setting as active, etc.) will not be saved unless you click Apply button at the bottom of panel. This works exactly the same as other Settings sections.

10.5. Creating a new keystore

To start the process click on the Add new keystore button. This will open a four-steps wizard. The first sheet of the wizard captures the essential information about the keystore. This is illustrated below:

New keystore step 1

Fields:

  • Keystore name - unique identifier (and also a human friendly name) for the keystore. This value must be provided and has to be unique.

  • Keystore password - each keystore is protected with a password. Please choose a strong password and make sure you don’t lose it, because it cannot be recovered. This value is required.

  • Private Key password - Private Key is the most valuable part of the keystore, so it should be protected with a separate password. This value is required.

On the next sheet you will be asked a few questions which help to establish if you are using an existing certificate and what is the nature of the Certification Authority which signs it. Based on the answer you choose Intella Investigator will inform you if you can proceed with creation of the keystore and the subsequent wizard steps will change. This is illustrated below:

New keystore step 2

  • Do you already own a certificate? - please select Yes…​ if you already have a valid SSL certificate and you wish to install it. Selecting No…​ will cause a brand new Private and Public Key pair to be generated. That will later be used to acquire the actual SSL certificate.

  • Do you know the Private Key used to generate your certificate? - if you selected Yes…​ in the previous question, then you will be asked if you know your Private Key. Having the Private Key is mandatory to properly import an existing certificate (see note below).

Remember that having a Private Key is required when creating a keystore for an existing SSL certificate. This is often causing confusion with people who already paid for an SSL certificate and think that they can now just import it to Intella Investigator. Remember that "an SSL certificate" is technically just your Public Key signed by some entity of trust. In order for the server to perform decryption it must apply the Private Key on the data coming through the secure HTTPS channel. That’s why having an SSL certificate is just a part of the equation, and you must also have the Private Key. Most certification providers offer a shortened procedure of certificate creation by keeping the Private Key in their possession if they also host the website where the certificate is used. This is sometimes causing confusion for our clients because the existing certificate cannot be used unless you also receive the Private Key from the provider.

  • Are you using a public SSL provider (Certification Authority)? - select Yes…​ if the SSl certificate was (or will be) generated by a widely known, public Certification Authority. If you are working in a corporate environment where your own IT department is generating internal SSL certificates, then selectin No…​ is appropriate. When in doubt, select I don’t know.

The next sheet will change based on the fact if you choose to import an existing certificate. If you decided to create a new keystore from scratch, then you will be asked to provide a domain name and some information about your company. That data will become a part of your self-signed certificate. In the process we are also generating an RSA 2048 Private Key for you which will be placed into the new keystore. However, if you chose to use an existing SSL certificate, you will be asked to provide this certificate along with a Private Key which was used to generate it. Both variants along with fields definitions are listed below:

New keystore step 3.1

Fields:

  • Host - specifies the host (usually domain) under which Intella Investigator will be accessible. Please make sure that you specify the proper value here and take your internal networking rules under consideration. Your certificate will only be valid when you access Intella Investigator with this exact host. A typical value would be something like investigator.mycompany.com or review-mycompany.com. Using IPs is allowed but not recommended. This field is required.

  • Company name - a human-readable name of your company. This field is required.

  • Department - Optional department name.

  • City - Optional name of the city in which your company/branch is located.

  • State - Optional name of the state.

  • Country code - Optional country code. Use "US" for the United States of America.

New keystore step 3.2

Fields:

  • Private Key - This field is required and represents the Private Key that was used to generate the SSL certificate which you wish to import. It must have the following characteristics:

    • it must use the RSA algorithm

    • it cannot be encrypted

    • it must be of PKCS#8 format

    • it must be expressed as PEM

    • it cannot be of a binary format and must use Base64 encoding

  • Certificate - This field is required and represents the SSL certificate which you wish to import. It must have the following characteristics:

    • it must match the Private Key you supplied earlier

    • it must be of X509 format

    • it must be expressed as PEM

    • it cannot be of a binary format and must use Base64 encoding

Both fields will be validated before the wizard allows you to navigate forward. In case of validation errors please make sure that the values you provided are matching the specified characteristics. Note that if you obtained a certificate in a different format, Microsoft Windows contains utilities which allow you to save the certificate to the correct format. This is illustrated below:

Copy SSL certificate to file

The last sheet in the wizard shows the summary of previously captured information. It also offers a list of steps that need to be taken after the wizard finishes in order to complete the installation. Certain may require your interaction with an external Certification Authority (SSL provider), therefore it’s best to save these instructions to a file in order to refer to them later.

Presented steps can sometimes be taken exactly as listed, but they may also vary slightly depending on the situation you are in. Although we have tried to anticipate them to the best of our capabilities, please treat them as a non-formal guide and adjust accordingly based on your own knowledge and experience.

New keystore step 4

After you click on the Finish button will, a new keystore card will be added to the view. You can now use additional action buttons to modify the state of your newly added keystore.

We recommend to Apply your changes as soon as you create any new keystore. Accidental loss of your settings (for instance, by navigating out of SSL settings and ignoring the warning about unsaved changes) will make it impossible to retrieve contents of this keystore in case you’d need it in the future.

10.6. Actions

Each keystore in the list is represented by a separate card. There are several action buttons located on those cards:

  • Trash icon - permanently deletes the keystore from file system and the database. This action requires a confirmation through a modal window to prevent accidental damage.

  • Info - opens a modal window which allows to inspect keystore contents.

  • Download > New CSR - generates and downloads new Certification Signing Request. This file is very often requested by a Certification Authority because it contains information needed to sign a certificate. You can create as many of those CSRs as you need and each invocation of this action will create a new one. Those files are not useful anymore once you get a SSL certificate in response and can be discarded.

  • Download > Keystore - downloads the current contents of the keystore. That file can be opened by any third party software capable of managing Java Keystores.

  • Add > Root CA certificate - opens a modal window which allows adding of the top-most Certification Authority certificate. This certificate will automatically be added to certificates trusted by Java.

  • Add > Intermediate CA certificate - opens a modal window which allows adding of a certificate belonging to any of intermediate Certification Authorities.

  • Add > Signed SSL certificate - opens a modal window which allows adding a signed SSL certificate issued to this Intella Investigator domain (instance).

  • Activate - sets the current keystore as active. Intella Investigator allows only one keystore to be active and certificate stored in this keystore will be used to handle HTTPS traffic. For this change to take effect, a server restart is required.

  • Deactivate - if keystore is already active, then this button will allow to deactivate it. Deactivating a keystore will disable SSL integration. For this change to take effect, a server restart is required.

Once again please remember that changes made to a keystore are not immediately saved. To persist them you need to click the Apply button. In a case when server restart is required, appropriate message will be shown.

10.7. Inspecting keystore contents

Opening this view will allow you to inspect contents of your keystore to understand the details of it and troubleshoot certification issues. Most of the information available relates directly to the certificate associated with the Private Key stored in this keystore. It will present to you a screen similar to the one illustrated below:

Keystore view

Fields:

  • Host - this matches the Common Name (CN) value of the certificate. This is the same value that you entered when creating a new Keystore.

  • Certificate issuer - represents the Certification Authority which signed your certificate.

  • Path - shows the location of this keystore in file system. This value can change to a file in a temporary directory, if you have unsaved changes in your keystore.

  • Status - this field can give you some insights into what the status of your keystore is. It will inform you if it is valid and active. In case of any validation issues, they will be listed here too.

  • Certificate valid from and Certificate valid till - describes validity timeframe of your certificate

  • Unused certificates - list of trusted certificates which are present in your keystore, but are not a part of the certification chain. This field will be hidden if you have valid certification chain. If you see any entries here then this is a good indication that you haven’t imported every certificate received from your CA or that your Root CA is not trusted by Java.

  • Certification chain - shows a list of certificates forming a certification chain of trust. The first entry is the Root CA of the chain, while the last one is your own certificate.

10.8. Recipes for managing a keystore

Below we describe in details few most typical scenarios for managing a keystore.

10.8.1. Creating a keystore with a new certificate

  1. Click on Add new keystore and enter required information. Select No, I’m starting from scratch when asked if you want to add an existing certificate. Answer the rest of the questions. Click Next.

  2. Enter required information in the next form. Make sure to use host which is appropriate to your domain / networking requirements. Click Next.

  3. Verify provided information and get acquainted with listed steps. Click Finish.

  4. Press Apply to save this keystore (makes sure you won’t lose your keys).

  5. Press Download > New CSR to download new Certification Signature Request.

  6. [Outside of Intella Investigator] Present this file to your CA (Certification Authority). They will ask you to confirm that you are the owner of the domain. In the end you will be granted with: your certificate and a set of auxiliary trusted certificates.

  7. For the Certification Authority Root, press Add > Root CA certificate. Then open certificate file with a text editor, copy its contents and paste them into the form. Press Add button. If the certificate is of correct type, the modal window will be closed and you will see a confirmation message. If it’s not of proper format, please convert it to X509 certificate in PEM format encoded with Base64, then retry.

  8. Optionally, for each intermediate certificate, press Add > Intermediate CA certificate. Follow similar procedure.

  9. Press Add > Signed SSL certificate. Follow similar procedure.

  10. Your keystore should report Keystore is valid message.

  11. Press Activate to set this keystore as active.

  12. Press Apply to save your changes. Restart Intella Investigator and navigate to your host with HTTPS protocol.

10.8.2. Creating a keystore for an existing certificate

  1. Click on Add new keystore and enter required information. Select Yes, I already bought one when asked if you want to add an existing certificate. Answer the rest of the questions. Click Next.

  2. Obtain contents of your Private Key in PKCS#8 PEM format encoded with Base64 and copy it to clipboard. Then copy it to the Private Key field.

  3. Obtain contents of your SSL certificate in X509 PEM format encoded with Base64 and copy it to clipboard. Then copy it to the Certificate field. In case you see any errors act accordingly, but make sure the formats of files are correct and that the Private Key matches the Certificate. Click Next.

  4. Verify provided information and get acquainted with listed steps. Click Finish.

  5. Press Apply to save this keystore (makes sure you won’t lose your keys).

  6. For the Certification Authority Root, press Add > Root CA certificate. Then open certificate file with a text editor, copy its contents and paste them into the form. Press Add button. If the certificate is of correct type, the modal window will be closed and you will see a confirmation message. If it’s not of proper format, please convert it to X509 certificate in PEM format encoded with Base64, then retry.

  7. Optionally, for each intermediate certificate, press Add > Intermediate CA certificate. Follow similar procedure.

  8. Your keystore should report Keystore is valid message.

  9. Press Activate to set this keystore as active.

  10. Press Apply to save your changes. Restart Intella Investigator and navigate to your host with HTTPS protocol.

10.8.3. Renewing an existing certificate in a keystore

  1. Press Download > New CSR to download new Certification Signature Request.

  2. [Outside of Intella Investigator] Present this file to your CA (Certification Authority). They will ask you to confirm that you are the owner of the domain. In the end you will be granted with: your certificate and a set of intermediate, trusted certificates.

  3. [You can skip this step if intermediate certificates are the same as the ones already stored in keystore] For each intermediate certificate, press Add > Intermediate CA certificate. Then open certificate file with a text editor, copy its contents and paste them into the form. Press Add button. If the certificate is of correct type, the modal window will be closed and you will see a confirmation message. If it’s not of proper format, please convert it to X509 certificate in PEM format encoded with Base64, then retry.

  4. Press Add > Signed SSL certificate. Follow similar procedure.

  5. Your keystore should report Keystore is valid. message.

  6. Press Activate to set this keystore as active.

  7. Press Apply to save your changes. Restart Intella Investigator and navigate to your host with HTTPS protocol.

10.9. Enabling HTTPS support on Intella Node

When Intella Investigator is using HTTPS protocol, it can still communicate with Nodes using plain HTTP. However, if your Intella Node instance is open to public access, we advise setting up HTTPS on that server too. This section describes how to do it.

If you configure Nodes to use HTTPs then you’ll need to set on the Use HTTPs switch when adding or updating them. See 'Intella Nodes' section in Intella Investigator Dashboard section .

Since instances of Intella Node do not have graphical user interface in which configuration could be performed, SSL configuration for Nodes is done in Intella Investigator administrator UI → menu → Servers → Nodes → click Configure button on a node panel → SSL view. Keystore database supporting both Intella Investigator and Intella Node is the same, therefore it’s advised to first setup SSL on Intella Investigator server and then on Intella Nodes.

SSL configuration on Intella Node

The actions that can be performed on keystores for Intella Node are the same as for Intella Investigator. This means that Recipes for managing a keystore can be used to configure SSL for Intella Node.

Note that Intella Node needs to be restarted after applying changes to SSL configuration (as part of last step in recipes for managing a keystore).

After restarting Intella Node, the final step is to enable Use HTTPS switch of restarted Intella Node server in Intella Investigator’s user interface.

Enable Node HTTPS

This will allow for both servers to communicate using secure HTTPS protocol.

10.9.1. HTTP vs. HTTPS compatibility matrix

Since using an SSL on Intella Node is optional, it’s justified to list all available configurations for both servers.

Intella Investigator Intella Node Supported

HTTP

HTTP

Yes, this is the default configuration that doesn’t use SSL at all.

HTTPS

HTTPS

Yes, both servers use HTTPS. Remember to enable Use HTTPS in Servers > Nodes for that particular instance of Intella Node.

HTTPS

HTTP

Yes, this configuration works, but it makes sense only to use it if you are not worried about anyone spying on traffic between the two serves (ex. they are connected via a private, internal network).

HTTP

HTTPS

No, this will not work and it doesn’t make sense to just protect Intella Node.

10.9.2. Troubleshooting HTTPS support on Intella Node

Before reading this section you should also get acquainted with Keystores database format. Manual changes to configuration files can be performed to enable SSL in case of troubleshooting. Here are the necessary steps:

  1. Configure a valid SSL keystore in Intella Investigator, like described in the rest of this guide.

  2. Locate the folder containing the keystore database, for example: C:\Users\InvestigatorUserAccount\AppData\Roaming\Intella Investigator\ssl

  3. Shutdown Intella Investigator and locate the same folder on the Intella Node server, for example: C:\Users\NodeUserAccount\AppData\Roaming\Intella\ssl

  4. Using text editor, open file ssl-keystores.xml on Intella Investigator and copy one of its entries reflecting the keystore you created for Intella Node, for example:

    <keystore name='Keystore for Node' file='Keystore for Node.jks' password='Aywut0nB66XLOAyOiuHh4g' privateKeyPassword='bnfxJErKVntHYCPkzzkbnA' active='false'/>

  5. Edit the same file on Intella Node server and paste this line into the XML document. Make sure to change the value of active attribute from false to true. This will make the keystore active.

  6. Locate the keystore file on Intella Investigator server and copy it to the Intella Node server, for example: C:\Users\NodeUserAccount\AppData\Roaming\Intella\ssl\Keystore for Node.jks

  7. Start Intella Node server. It should now be available using HTTPS protocol.

The final step is to enable Use HTTPS switch when adding or editing Node server in Intella Investigator’s user interface.

Enable Node HTTPS

This will allow for both servers to communicate using secure HTTPS protocol.

10.10. HTTP and HTTPS running side-by side

Intella Investigator server will respond to both types of traffic (HTTP and HTTPS) on the same port. It will try to detect if the incoming data is encrypted in SSL/TLS and handle it accordingly. The default installation of Intella Investigator comes with a self-signed certificate which will likely not be trusted by your web browser (as all self-signed certificates are). We recommend that you get a valid SSL certificate and install it as soon as possible.

After you install your custom SSL certificate, the server will obviously handle all HTTPS traffic using your certificate. However it will still be responding to HTTP traffic, enforcing a redirection to HTTPS when this happens. This is done to ensure that any links, bookmarks or user mistyping the address will still work and redirect the traffic to a secure endpoint.

If you would like to disable this automatic redirection, you can do this by editing server preferences file in %USERPROFILE%\AppData\Roaming\Intella Investigator\prefs\user.prefs and adding the following line: ServerHttpsRedirectionEnabled=false

10.11. Verifying if HTTPS works correctly

To verify if your connection is secure try navigating to the host you selected when creating the certificate and specifying https as a protocol, for instance: https://connect.mycompany.com . You should be able to see the Lock icon in the web browser’s address bar, which is a proof that you are using a secure connection. You can also use tools built-in into your browser to inspect details of your certificate.

10.12. Troubleshooting issues with SSL

Before a certificate is trusted, browser must verify that the certificate comes from a trusted source. This verification process is called chain validation. This involves processing public key certificates and their issuer certificates in a hierarchical fashion until the certification chain ends at a trusted certificate. Typically this is a root CA certificate. If there is a problem with one of the certificates in the chain, or if it cannot find a certificate, the certification chain is considered a non-trusted certification chain. A typical certification chain includes a root certificate and one or more intermediate certificates.

If the browser shows certificate warning, please verify certificate chain by reading the keystore using 3rd party tool. See references section of Wikipedia article on keystore.

10.13. Advanced: keystores database

Keystores database is very simple and consists of one XML file which lists keystore records. It is located in the following directory:

C:\Users\InvestigatorUserAccount\AppData\Roaming\Intella Investigator\ssl

Note: please substitute InvestigatorUserAccount with the account name under which you are running Intella Investigator.

The XML index file is called ssl-keystores.xml. You can edit this file manually, but you should only do so when the server is not running. Its structure should be self explanatory, however few comments are justified:

  • active attribute on keystore tags is a boolean variable representing which keystore is used by Intella Investigator. It’s only allowed for one keystore

  • file attribute on keystore tags represents the keystore file located in the same ssl directory. This should never be modified.

  • password and privateKeyPassword attributes use proprietary encryption algorithm, which is not disclosed

Keystore index file can be saved and reloaded multiple times during the lifespan of the server.

10.14. Advanced: Using Self-Signed certificates and certificates signed by internal Certification Authorities

We discourage the usage of Self Signed certificates. Vound cannot assist in troubleshooting them.

Using of certificates issued by internal Certification Authorities is acceptable, however you must remember to add the internal CA certificate manually to cacerts file each time when you upgrade Intella Investigator. An alternative, recommended approach is to disable SSL and create a new keystore using newer version of the software from scratch. That helps with the certificate being renewed often and automatically adds the internal CA certificate to trusted certificates used by Java.

If for some reason you would like Intella Investigator/Intella Node runtime environment to accept a custom trusted certificate (usually a self-signed one) you can do that by adding it to the cacerts file of bundled Java Runtime Environment. You will have to do that after upgrading (or reinstalling) Intella Investigator/Intella Node because that file is getting overwritten by the installer. The password for the cacerts file is the default one set by JRE: changeit.

The cacerts file is located under this location (make sure %%INSTALLATION_DIRECTORY%% points to your Intella Investigator/Intella Node installation directory):

%%INSTALLATION_DIRECTORY%%\jre\lib\security\cacerts

10.15. Advanced: Modifying supported protocols and cipher suites

If your security policy requires it, you may alter the way in which client and server communicate by specifying supported protocols and ciphers used. Intella Investigator by default will not use SSLv3, relying on TLS instead. If you override disabled protocols, please make sure to add SSLv3 to the list.

The two settings that you can add to Intella’s Preferences are:

  • ServerDisabledSslProtocols - a white-space separated list of DISABLED protocols. Defaults to "SSLv3". Supported values are: SSL, SSLv2, SSLv3, TLS, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3

  • ServerEnabledSslCipherSuites - a white-space separated list of ENABLED cipher suites. Defaults to an empty string, which results in supporting a vast stack of around 80 common cipher suites. Supply your own list if you need to have more fine grained control over which ciphers to exclude.

More details about both protocols and cipher suites can be found here: https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html

Please note that at the time of writing this manual, specification requires to support following ciphers:

  • TLS_EMPTY_RENEGOTIATION_INFO_SCSV

  • SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA

You can learn more about recommended cipher suites in this online reference: http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-52r1.pdf

10.16. FAQ

  • What is the difference between a keystore and a certificate?

    An SSL certificate is one of essential pieces of information required for encryption and decryption of HTTP traffic. Keystore is a password-protected container for many different types of files, including SSL certificates and private keys.

  • I received a ZIP from my certificate provider. How do I know what’s inside there?

    You should checkout documentation of your provider, as that is usually explained well there. A rule of thumb is that you usually receive at least two files. Certificates usually have some random name with a "crt" extension (because they are generated), whereas intermediate certificates have human friendly name. The latter often contain "root" or "ca" in the file name.

  • How should I configure ports?

    By default web browsers will try to connect to port 443 when HTTPS protocol is used. Therefore it’s best to change Intella Investigator’s port to that value.

  • How do I manually disable SSL?

    You need to manually set all active attributes in keystores database to false. This is described in this section.

  • I’m using different key/certification formats. What should I do?

    Intella Investigator’s UI only supports formats described in this guide. However, you can still create your Java Keystore by other means (including keytool utility or third party applications) and later import it to the database. This can be done by manually modifying the database or by leveraging backwards compatibility mechanism built into Intella Investigator, which imports keystore based on filepath and credentials.

11. Single Sign On

11.1. Preface

Single sign-on (SSO) allows a user to log in with a single ID and password only once to gain access to any of several related systems. For example, a user logs in to Google account and afterwards that user can navigate to GMail, Google Cloud or Intella Investigator without any of those systems asking for username and password.

Intella Investigator allows integration with third party SSO providers. The provider needs to be OpenID Connect (OIDC) standard complaint as described by the specifications: https://openid.net/specs/openid-connect-core-1_0.html Intella Investigator uses Authorization Code Flow to authenticate user as described in OIDC specification.

11.2. Setup

In order for Intella Investigator to integrate with OIDC provider and allow authentication via that OIDC provider, both OIDC provider and Intella Investigator will need to be configured. Intella Investigator allows multiple OIDC providers to be configured at once.

New section called SSO is now available in Settings panel:

SSO settings

11.2.1. SSO with Intella Investigator and Google

Prerequisite for this example is having a G-Suite account.

Google Cloud Platform requires Authorized redirect URIs to be a public top-level domain. Providing IP address will result in following error message:
Invalid Redirect: must end with a public top-level domain (such as .com or .org).
Invalid Redirect: must use a domain that is a valid top private domain

Start by creating an account at Google Cloud Platform (https://console.cloud.google.com/) and log in:

Configuring Google as SSO provider step 1

Click on Create project button:

Configuring Google as SSO provider step 2

Fill Project name and click Create button. Wait for the project to be created and to see the following view:

Configuring Google as SSO provider step 3

In the navigation bar, choose API & Services → Credentials:

Configuring Google as SSO provider step 4

You will see following view:

Configuring Google as SSO provider step 5

Click on Create credentials and choose “OAuth client ID”

Configuring Google as SSO provider step 6

You will see following view:

Configuring Google as SSO provider step 7

Click on Configure consent screen button:

Configuring Google as SSO provider step 8

Choose Internal and click Create button:

Configuring Google as SSO provider step 9

Fill in Application name field and click on Save button. You will see the following view:

Configuring Google as SSO provider step 10

In left menu, go back to Credentials view and then click on Create credentials and choose OAuth client ID

Configuring Google as SSO provider step 11

You will see the following view:

Configuring Google as SSO provider step 12

Choose Application type→Web application, fill out the Name and click on Create button.

Configuring Google as SSO provider step 13

You will see the following view:

Configuring Google as SSO provider step 14

Switch to Intella Investigator administration view, open SSO section in Settings panel and create new provider in SSO view using provided information from OIDC provider:

Configuring Google as SSO provider step 15

Click on Redirect URI to copy its content into clipboard. Go back to Google Cloud Platform and click on Intella Investigator OAuth 2.0 Client ID:

Configuring Google as SSO provider step 16

You will see the following view:

Configuring Google as SSO provider step 17

Click on the Add URI button in the Authorized redirect URIs section. Paste the URI from the clipboard and click the Save button.

You have finished the configuration and can now log in (as user defined in SSO provider’s list of valid users) to Intella Investigator using the Log in with Google button.

Configuring Google as SSO provider step 17

11.2.2. SSO with Intella Investigator and Okta

Prerequisite for this example is an Okta account. Create an account in Okta (https://www.okta.com/free-trial/) and log in.

Configuring Okta as SSO provider step 1

In menu, go to Applications:

Configuring Okta as SSO provider step 2

Click on Add Application button.

Configuring Okta as SSO provider step 3

Click on Create New App

Configuring Okta as SSO provider step 4

Choose Platform→Web, Sign on method→OpenID Connect. Click on the Create button.

Configuring Okta as SSO provider step 5

Fill in Application name and Login redirect URIs and click Save. If you don’t have correct Login redirect URIs, then it is fine to fill it with placeholder value and later edit it once obtaining the correct value.

Configuring Okta as SSO provider step 6

Create new provider in SSO view of Intella Investigator using provided information from OIDC provider:

Configuring Okta as SSO provider step 7

Click on Redirect URI to copy its value into clipboard. Go back to the configuration view in Okta and edit Login redirect URIs. Paste the URI from the clipboard and click the Save button.

Configuring Okta as SSO provider step 8

Switch view from General to Assignments. Make sure that the people that should be able to login via this provider are in this list:

Configuring Okta as SSO provider step 9

You have finished the configuration and can now log in to Intella Investigator using the Log in with Okta button.

Configuring Okta as SSO provider step 10

11.2.3. SSO with Intella Investigator and Microsoft Azure

Prerequisite for this example is a Microsoft Azure account. Create an account at Microsoft Azure (https://portal.azure.com/) and/or log in:

Configuring Microsoft Azure as SSO provider step 1

Note: If you have access to multiple tenants, use the Directory + subscription filter Configuring Microsoft Azure as SSO provider step 2 in the top menu to select the tenant in which you want to register the application.

Search for and select Azure Active Directory.

Configuring Microsoft Azure as SSO provider step 2

Under Manage, select App registrations.

Configuring Microsoft Azure as SSO provider step 3

Select New registration.

Configuring Microsoft Azure as SSO provider step 4

Enter a Name for your application, for example Intella Investigator OIDC. Users of your app might see this name. You can change it later.

Configuring Microsoft Azure as SSO provider step 5

Select Register.

On the Overview page, note the Application (client) ID and the Directory (tenant) ID. You’ll need these values later.

Configuring Microsoft Azure as SSO provider step 6

Under Manage, select Certificates & secrets. In the Client secrets section, select New client secret.

Configuring Microsoft Azure as SSO provider step 7

Enter a key description (for example, Intella Investigator secret), leave the default expiration, and select Add.

Configuring Microsoft Azure as SSO provider step 8

Note the Value of the client secret. You’ll need it later.

Configuring Microsoft Azure as SSO provider step 9

Create new provider in SSO view of Intella Investigator using provided information from Microsoft Azure portal:

Configuring Microsoft Azure as SSO provider step 10

Fill Application (client) ID into Client ID

Make sure that URLs are in the following form:

where TENANT-ID is Directory (tenant) ID

Click on Redirect URI to copy its value into clipboard.

Go back to Azure portal > Intella Investigator OIDC > Under Manage, select Authentication. Select Add a platform > Web. In the Redirect URIs section, Paste the URI from the clipboard and click the Save button.

Configuring Microsoft Azure as SSO provider step 11

Make sure that users are defined properly in Azure Active Directory.

You have finished the configuration and can now log in to Intella Investigator using the Log in with Microsoft button.

11.3. SSO with Intella Investigator and third party provider

The above examples show how to configure SSO with Intella Investigator and Google, Microsoft or Okta, but that doesn’t mean that any other provider cannot be used. Any SSO provider that is OIDC compliant and allows Authorization Code Flow can be used for SSO integration purpose. For more information on how to configure SSO on SSO provider side, consult with the SSO provider directly.

On Intella Investigator side, the configuration consists of following fields:

SSO configuration on Intella Investigator side

Client ID, Client Secret, Authorize URL, Token URL and Issuer fields are provided by SSO provider and are compulsory. They allow Intella Investigator to communicate with SSO provider in order to authenticate the user that is trying to log in.

Username attribute is by default set to sub as this is most common value. This field defines what the user’s identifier will be. It directly relates to username of user accounts that are shown in menu → Users → User Accounts.

This is important especially if user accounts already defined in Intella Investigator are different people from those defined on SSO provider side. In that case a different Username attribute should be selected. On the other side, if it is expected that the users which have previously been logging in into Intella Investigator using local account are the same people as those expected to log in via SSO, then the Username attribute needs to point to the same username values.

When user logs in via SSO account to Intella Investigator, then the change password link is hidden for accounts logged in this way. Such accounts are now marked in C:\Users\user\AppData\Roaming\Intella Investigator\auth\users.xml with oauth attribute. For example:

<profiles>
  <profile username='example-user1@vound-software.com' password='' avatar='' oauth='true'/>
  <profile username='example-user2@vound-software.com' password='' avatar='7b93a67a-d5d7-4065-8c76-a33b91c2f44f.png' oauth='false'/>
</profiles>

This will also be shown in menu → Users → User Accounts view - account will have SSO label below username.

Note that when SSO user logs out of Intella Investigator, then this logout only relates to Intella Investigator session - login session in SSO provider is not ended. User needs to log out on SSO provider side in order to be logged out. This is expected behaviour.

11.4. Validation of SSO account login

ID tokens are used during SSO account login and they contain a number of attributes, or claims. These are protected with a digital signature, or message authentication code (MAC), to ensure the token’s integrity and authenticity.

Authorize, Token and JWK Set URLs are being validated to check if they are a valid URL. The validation at minimum expects URL to contain protocol and domain name or IP address. If the URL fails to validate, then this will be shown by an error message below respective URL. Login via SSO with invalid URL will result in failed login attempt.

The State parameter is recommended as stated in OIDC specification (https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest), so by default it is turned on. It is advised to turn it off only if the SSO provider does not support it.

As mentioned above, the issuer field is mandatory and it will be used during validation of token.

For ID tokens secured with the RSA or EC signature (e.g. RS256), the field JWK set URL will be used during validation and therefore it should be filled. It needs to point to URL, which contains set of digital signatures of SSO provider.

For ID tokens secured with an HMAC (e.g. HS256), the client secret will be used to perform the validation. The field JWK set URL should remain empty and will be ignored by Intella Investigator.

The Required Claims field allows declaring which claims of the ID token needs to be present in order to authorize a user - if this condition is not met, then user login is denied. Since ID token is in JSON form, then the Required Claims field requires JSON object. That means that, for example, if claim "groups" is required to be an array type and contain "Support" and "Everyone" values, then Required Claims field would be the following:

{
  "groups": ["Support", "Everyone"]
}

Note that this validation is case sensitive, so if ID token contains field "groups" and Required Claims field will require field "Groups", then the result will be that every attempt to login via SSO will fail Required Claims validation. Leaving this field empty means that a specific claims will not be required and any valid ID token will pass authorization.

When validating ID token and using RS algorithm, then JWK set needs to be downloaded in order to compare keys. By default, the connect and read timeout are 1500 ms. Due to network latency or error, this can result in user to be denied access during login even if valid credentials are provided. This can be seen in the logs containing following error message:

"Couldn't retrieve remote JWK set: Read timed out"

These timeouts can be increased in JWK Set connect timeout and JWK Set read timeout fields.

11.5. Additional settings

Login via local accounts can be disabled by editing C:\Users\user\AppData\Roaming\Intella Investigator\prefs\user.prefs and adding line:

AllowLocalAccountsLogin=false

When login via local accounts is disabled, then change password option is hidden - this is expected as such user should change their password on LDAP or SSO provider side as that is where their account resides.

Login via LDAP accounts can be disabled by editing C:\Users\user\AppData\Roaming\Intella Investigator\prefs\user.prefs and adding line:

AllowLdapAccountsLogin=false

Note that even if login via LDAP is disabled, it will still be fetching the list of users from LDAP in order to display them in Intella Investigator Dashboard→users view and also to allow assignment to cases/roles.

If login via both local and LDAP accounts is disabled, then the username and password fields are hidden. This is expected as the only user able to login using password is the admin account and other users need to login via SSO provider. Administrator will then need to first click on Alternative login button, which will reveal username and password fields and allow login of admin account.

11.6. URL Validation

Starting in version 2.6.1, the SSO provider can be validated by the "Validate" button. This will perform validation of URL fields by connecting to the specified URL and checking if it is a valid URL.

If everything is correct, then a popup message will appear stating that SSO provider is reachable and certificates are valid.

If it is not a valid URL, following error will be shown:

URL not accessible

This error can be resolved by correcting the URL. If the URL is correct, then check if the SSO provider is running and accessible from the machine where Intella Investigator is installed.

This will also check validity of SSL certificates on that URL. If the certificate is not trusted by Intella Investigator, then following error will be shown:

Certificate not trusted

The certificate that is being presented by the SSO provider needs to be trusted by Intella Investigator. This can be done by importing the certificate into the embedded Java keystore that is being used by Intella Investigator. That certificate and its chain can be imported automatically by clicking on the "Yes" button. This will download the certificate and its chain from the SSO provider and import it into the Java keystore. Please make sure that this is the correct certificate before importing it.

Once the certificate is imported, the following message will be shown:

Restart required

Intella Investigator will need to be restarted in order for this change to take effect. After restart, the validation can be performed again, and it is expected to succeed.

There are additional errors that can still happen. If the certificate is valid, but the hostname does not match the one in the certificate, then following error will be shown:

Unexpected errors

This is just an example of one of the errors that can happen. These errors are unexpected and will need to be investigated further.

11.7. Troubleshooting

For troubleshooting purposes, the SSO providers configuration can be changed by editing C:\Users\user\AppData\Roaming\Intella Investigator\auth\oauth-providers.json and modifying the values already present. If a field is missing, it should be added, but the result of adding it needs to be a valid JSON object. Example configuration with all parameters except required claims (note that client ID and secret were replaced with dummy values):

{"uuid":"7378560a-143b-491c-b9d5-57135b05fbcb", "name":"example", "clientId":"example", "clientSecret":"example", "authorizeUrl":"https://example.com/oauth2/default/v1/authorize", "tokenUrl":"https://example.com/oauth2/default/v1/token",
"stateParam":true, "usernameAttributeSwitch":true, "usernameAttribute":"email", "requiredClaims":"", "validation":true, "issuer":"https://example.com/oauth2/default", "jwkSetUrl":"https://example.com/oauth2/default/v1/keys",
"jwkSetConnectTimeout":2000, "jwkSetReadTimeout":2000}

ID Token validation can be disabled by editing C:\Users\user\AppData\Roaming\Intella Investigator\auth\oauth-providers.json and changing "validation":true to "validation":false. Note that it is discouraged to leave token validation disabled, because any token could then be passed on into Intella Investigator and its validity (if it really came from SSO) would not be checked - this is a security issue. It is intended to be used only for duration of troubleshooting and should be enabled afterwards.

Details about validation can be seen in the logs when changing logging level to DEBUG. Below is an example of such logging entry:

Validating using issuer (https://dev-620550.okta.com/oauth2/default), client ID (qwerty), algorithm (RS256), JWK set URL (https://dev-620550.okta.com/oauth2/default/v1/keys), JWK set connect timeout (2000 ms), JWK set read timeout (2000 ms)
Required claims validation skipped due to required claims being empty.

12. Password policy

12.1. Preface

This feature allows organizations to define a set of rules that will be enforced when users set their password. Strong passwords help prevent compromise of user accounts by unauthorized users or malicious automated software to guess weak passwords. Changing passwords regularly also helps with security of user accounts.

Password policy applies to accounts defined in Intella Investigator. Accounts defined in LDAP and SSO provider store the password on their own storage and have own password policies, so as such, they are out of scope for this feature.

12.2. Setup

New section called Password is now available in Settings panel:

Password policy configuration

By default, the password policies are disabled. To enable rules defined in password policy tab, check "Enabled" checkbox. When this checkbox is enabled, then below rules will have effect.

The following rules can be defined:

  • Enforce password history - determines the number of old passwords stored, thus preventing a user from using an old password. (default: 24)

  • Maximum password age - sets the password expiration in days. After the expiration of this period, the system will prompt a user to change the password. This policy ensures that users regularly change the password. (default: 42)

  • Minimum password age - sets how often users can change their passwords in days. This setting won’t allow the user to change the password too often to get back to an old password they like by removing them from the Password History log after the password has been changed several times in a row. As a rule, it is worth to set 1 day here in order users can change a password themselves if it gets compromised (otherwise an administrator will have to change it). (default: 1)

  • Minimum password length - it is recommended that passwords should contain at least 7 symbols. (default: 7)

  • Password must meet complexity requirements - username cannot be used in a password (not more than 2 symbols of a username in a row) and 3 types of symbols must be used in the password: numbers (0–9), uppercase letters, lowercase letters, special characters ($, #, %, etc.) (default: checked)

12.3. Password change enforcement

Users will be requested to change their password when it expires. Account password will become expired when "Maximum password age" rule is triggered. Following page will be shown when user logs in with expired password:

Password change enforcement image

The rules listed on password change enforcement page will be shown according to those defined in Settings panel.

This page can be skipped by refreshing the browser page, however, this will skip it only for current login attempt and it will not change expiry status. Such behaviour is expected, but it may be improved in a future version. On the next login attempt, the password change will be requested again.

12.4. Troubleshooting

For troubleshooting purposes, the password policy rules can be found stored in C:\Users\user\AppData\Roaming\Intella Investigator\auth\password-policy.json.

Password history is stored in C:\Users\user\AppData\Roaming\Intella Investigator\auth\password-history.json.

When these files are not present, then default password policy rules are used and password history does not exist. They will get initialized on first use.

13. Account lockout policy

This feature helps prevent password guessing by malicious users. Automated password guessing will fail when account becomes locked for given duration after certain amount of failed log ins.

Account lockout policy applies to accounts defined in Intella Investigator and LDAP. Accounts defined in SSO provider have own account lockout policies, so as such, they are out of scope for this feature.

13.1. Setup

New section called Password is now available in Settings panel:

Account lockout policy configuration

By default, the account lockout policies are disabled. To enable rules defined in password policy tab, check "Enabled" checkbox. When this checkbox is enabled, then below rules will have effect.

The following rules can be defined:

  • Duration - determines the number of minutes that a locked-out account remains locked out before automatically becoming unlocked. (default: 30)

  • Increment - determines the number of minutes that are added to duration for each subsequent failed attempt with a locked-out account. (default: 10)

  • Threshold - determines the number of failed sign-in attempts that will cause a user account to be locked. (default: 10)

13.2. Troubleshooting

For troubleshooting purposes, the account lockout policy rules can be found stored in C:\Users\user\AppData\Roaming\Intella Investigator\auth\account-lockout-policy.json.

Account history is stored in C:\Users\user\AppData\Roaming\Intella Investigator\auth\account-history.json.

When these files are not present, then default account lockout policy rules are used and account history does not exist. They will get initialized on first use.

Note that an attacker can cause a denial of service (DoS) condition by intentionally locking out accounts. To prevent DoS, it is recommended to use account lockout policy with IP address filtering via firewall or other means. With IP address filtering, users are allowed to access Intella Investigator only from a pre-defined list of IP addresses. Such feature may be added in a future release and therefore needs to be currently implemented outside of Intella Investigator.

14. LDAP setup guide

14.1. Preface

It is possible to integrate Intella Investigator with an external Lightweight Directory Access Protocol (LDAP) providers.

Configuring LDAP providers is considered an advanced task and should be undertaken only by a well qualified administrators. That is mainly because it impacts how passwords are sent between browsers and the server.

In order to allow Intella Investigator to communicate with an LDAP database one must add a so called "provider". Providers define the connection parameters to your LDAP database, as well as set of queries which will control which LDAP entries can access Intella Investigator. You can define as many Providers as you would like, however in most situations having just one would suffice. Any change in the providers list requires a full restart of Intella Investigator server for the changes to take effect. It’s also up to the administrator to make sure that having multiple Providers will not result in having any name conflicts (where two accounts share the same username), as in such case results are unspecified.

In order for changes in LDAP providers to take effect you must restart Intella Investigator server.

14.2. LDAP vs. Active Directory configuration

It can’t be argued that Active Directory has become the most popular provider of LDAP protocol out there. It also comes with some standard directory structure, which makes it a bit easier to configure to work with Intella Investigator. Therefore, we are offering two ways of integrating Active Directory: simplified and standard.

14.3. Simplified Active Directory setup

This wizard can be started by clicking on the Add new Active Directory provider button. In the second step you only need to provide connection parameters (for your domain controller running Active Directory Domain Service) and credentials of a user who can query Active Directory. In the third step you need to provide two Distinguishable Names (DNs):

  • User accounts location - Active Directory container where User Accounts are defined. A typical location on a fresh AD installation could look something like: CN=Users,DC=my-company,DC=com

  • Active Directory group that users must be member of - group of which user needs to be a member of, in order to be granted access to the product. Example: CN=Connect,CN=Users,DC=my-company,DC=com.

Those two settings should be pretty straightforward to grasp for any Active Directory administrator. We basically need to point the application to a place where it can find user accounts to start with. But since in a typical organization the same single user can have access to many different applications (controlled by different group membership), we also need to specify which group is able to access Intella Investigator.

That’s the simplest configuration that can take place. The wizard will generate all necessary LDAP queries for you and store them as a new provider. After changes are saved and server is restarted, you should be able to sign in to your Active Directory accounts.

If you need more advanced customization, or you would like to edit simple Active Directory provider post-factum, then please read the rest of this guide.

14.4. More advanced LDAP configuration (ex. OpenLDAP or custom Active Directory)

This wizard can be invoked by clicking on Add new LDAP provider button.

First four provider settings that you will be asked for are about connecting to the LDAP server::

  • Name - is just a human friendly name that allows to manage providers better. It must be unique and it won’t be editable after you specify it.

  • Provider URL - it’s an URL pointing to your LDAP database, ex. ldap://192.168.1.1:10389

  • Authentication user DN - it’s a Distinguishable Name (DN) of the LDAP entry that will be used to make searches in your LDAP database. It must have enough privileged to perform LDAP lookups.

  • Authentication user password - simply a password for the user listed above

Those settings are essential for the Provider to communicate with an LDAP database.

14.5. Username Attribute (UA)

First thing to do next is to choose a so called username attribute (UA). All LDAP providers support "CN" attribute, but it’s not very user friendly to use this one as a username because it’s rather long and hard to remember. Users usually prefer signing in with either their email, or some simple username instead. Feel free to choose any attribute supported by your LDAP provider that uniquely identifies a user.

14.6. Customized LDAP queries

The rest of the wizard revolves around creating LDAP queries that specify how to determine which LDAP users should have access to Intella Investigator. Those queries are explained below:

  • "Username to DN" query - Some LDAP providers will not return both DN and Username Attribute in the same record. That’s why Intella Investigator allows to provide an auxiliary query which does the translation from UA to DN. This query is required even if UA is a part of your standard scheme that defines user record. In this case simply supply a query that returns user record for given username. It’s easy to understand on a working example: we would like users to log in to Intella Investigator using unique "email" attribute. We then fetch users from an Organizational Unit (OU) called "groupmembership" which only knows which user entries belong to it based on their DN. So we now must target additional OU called "users" to find what "email" does the given user have.

  • "DN to Username" query - This query is optional and usually won’t be needed with standard OpenLDAP and A.D. implementations. It does exactly the opposite for the previous query. Intella Investigator will use it only in case when "All users accounts" query returns user accounts as a multi-value attribute.

  • "All users accounts" query - This is a query that should return all LDAP entries that you think should be entitled with an access to Intella Investigator. Most probably those LDAP users are a part of some group defined in your schema. Therefore it’s usually enough to supply a query that would return all of users in this group. Depending on how your LDAP is organized, query might return multiple records (each representing single user) or just one record (where users are listed as a multi-value attribute). In the latter case you must provide an attribute name that will be used to pick up users' DNs.

  • "Authentication" query - First two queries allowed us to find which DNs can access Intella Investigator and what human friendly username attribute should we use as their identifier. The third query is the most important one, because it will be used to authenticate user against an LDAP directory using credentials filled in on the login screen. You must make sure that this query returns exactly one entry for passed in username.

All of the queries listed above can use special, extended syntax.

Certain queries used in LDAP integration are being cached by Intella Investigator. Default cache size and eviction time (in minutes) can be changed respectively by adding LdapNamesCacheSize=400 (default: 400) and LdapNamesExpireAfterWriteTime=120 (default: 120) to user.prefs located in Intella Investigator home directory (C:\Users\[USER]\AppData\Roaming\Intella Investigator\prefs) . This is advanced configuration and for most users the default values should suffice.

Some LDAP providers (Active Directory is a good example) may be configured to limit the number of results when executing a query. If you know that your LDAP user base is large (500+) then please make sure that your provider is configured correctly to return them all. More information is available here.

14.7. Extended syntax

When defining some of the queries you can use standard LDAP syntax with one small extension. When you use special keywords described below, those will be replaced (string replacement) each time with runtime values passed in by the user. In case the value is unknown at the time of query evaluation it will return "NULL" string instead.

  • &&USERNAME_ATTRIBUTE&&: this string will be replaced with the name of a username attribute that you defined in Step 3 of the wizard.

  • &&USERNAME_VALUE&&: this string will be replaced with the value entered by the user on the Intella Investigator login screen.

  • &&USER_DN&&: this string will be replaced with the value of user’s DN.

14.8. Using LDAPS

To use secure LDAP connection, is it required to provide proper protocol name (ldaps://) in the Provider URL while configuring LDAP provider through the wizard. If different port than default port is used for LDAPS, then port must be also provided in Provider URL.

The certificate issued to your LDAP server must be recognized as trusted. If you are using self-signed certificate, then you should add the certificate of your CA to the trusted keystore used by Intella Investigator runtime (Java). This keystore is located in Intella Investigator installation directory. Steps to do that would be the following:

  • Download and install auxiliary KeyStore Explorer application (http://keystore-explorer.org/downloads.html)

  • Make a backup of 'cacerts' file from the 'jre/lib/security' subfolder of your current Intella Investigator installation.

  • Using KeyStore Explorer, open the 'cacerts' keystore file.

  • Install certificate of your CA only (CTRL + T).

  • Restart Intella Investigator and use your LDAPS provider.

Vound is not associated with developers of Keystore Explorer and we wish not to promote them. This guide serves explanatory purposes and should be treated as a learning material only. Vound cannot be held accountable for any misuse or damage that might be a result of using Keystore Explorer. If you feel uncertain if you should use it, please consult your IT specialists or keep on relying on keytool.

14.9. Sample config for OpenLDAP with memberof overlay

Below you will find a sample configuration for a custom database running on OpenLDAP with memberof overlay. It assumes that the user entries are stored in "users" OU and that Intella Investigator users belong to a group named cn=Intella Users Group,ou=groupmembership,dc=vound-software,dc=com.

Basic settings

  • Provider name: OpenLDAP test

  • Provider url: ldap://192.168.1.107:10389

  • Auth user DN: cn=admin,dc=vound-software,dc=com

  • Auth user password: SOME_PASSWORD

Query for getting single user details

  • Username attribute name: mail

  • Username to DN query Base: ou=users,dc=vound-software,dc=com

  • Username to DN query Filter: (&&USERNAME_ATTRIBUTE&&=&&USERNAME_VALUE&&)

Query for getting all user accounts

  • Query base DN: ou=users,dc=vound-software,dc=com

  • Query filter: (memberOf=cn=Intella Users Group,ou=groupmembership,dc=vound-software,dc=com)

Query for authenticating single user

  • Query base DN: ou=users,dc=vound-software,dc=com

  • Query filter: (&(&&USERNAME_ATTRIBUTE&&=&&USERNAME_VALUE&&)(memberOf=cn=Intella Users Group,ou=groupmembership,dc=vound-software,dc=com))

14.10. Sample config for Active Directory

Basic settings

  • Provider name: AD test

  • Provider url: ldap://192.168.56.2

  • Auth user DN: CN=admin,OU=IntellaUsers,OU=Users,OU=MyBusiness,DC=site,DC=local

  • Auth user password: SOME_PASSWORD

Query for getting single user details

  • Username attribute name: cn

  • Username to DN query Base: OU=IntellaUsers,OU=Users,OU=MyBusiness,DC=site,DC=local

  • Username to DN query Filter: (&&USERNAME_ATTRIBUTE&&=&&USERNAME_VALUE&&)

Query for getting all user accounts

  • Query base DN: OU=IntellaUsers,OU=Users,OU=MyBusiness,DC=site,DC=local

  • Query filter: (objectClass=person)

Query for authenticating single user

  • Query base DN: OU=IntellaUsers,OU=Users,OU=MyBusiness,DC=site,DC=local

  • Query filter: (&(&&USERNAME_ATTRIBUTE&&=&&USERNAME_VALUE&&)(memberOf=CN=Administrators,CN=Builtin,DC=site,DC=local))

15. Geolocation settings

The Geolocation section defines how the world map gets rendered in the Geolocation view and the Previewer’s Geolocation tab.

Geolocation settings section

Intella Investigator embeds a set of tiles for rendering this map. By default, this tile set is used. This embedded tile set enables use of the Geolocation views without requiring any configuration and/or network connection. The drawback of using this tile set is that the user can only zoom in six levels.

Another option is to integrate with a custom tile server. To enable use of such a server, select the Integrate with the tile server option. The Geolocation section will then expand to offer additional settings.

Custom tile server

In the example above, OpenStreetMap’s tile server is used. You can use any tile server you wish by typing its address into the Tile server integration URL field. The format for the URL is dependent on the chosen tile server.

In order to use an external tile server the reviewer’s browser needs to have direct access to that server, not blocked by any firewall.

Note that to use a public tile servers, you need to ensure that you comply with the tile server’s usage policy. This is your responsibility, not Vound’s.

The Min. zoom option defines the desired minimum zoom level in the user interface. This should be in the range of supported zoom levels of the chosen tile server.

The Max. zoom option defines the desired maximum zoom level in the user interface. This should be in the range of supported zoom levels of the chosen tile server.

The Tile Size (pixels) option defines the size of a single square tile. This value should match the size of the tiles which are returned by the tile server.

If the tile numbering order used by the tile server is reversed, then this must be reflected in tile server URL with minus sign, for example https://a.tile.openstreetmap.org/{z}/{x}/{-y}.png

Important: Using a public tile server may reveal the locations that are being investigated to the tile server provider and anyone monitoring the traffic to that server, based on the tile requests embedded in the retrieved URLs.

Tip: If the investigation system has no internet connection, a custom tile server can be set up on the local network. One way of how this can be achieved can be found at http://osm2vectortiles.org/docs/serve-raster-tiles-docker/. This is out of the scope of this manual and Vound’s technical support.

15.1. Email geolocation

Email geolocation allows one to estimate the geographic location of an email’s sender using the sender IP address. This process takes place during indexing on Intella Node. The process and its caveats are described in Reviewer’s manual - Geolocation .

Determination of the geographic location of an IP address requires the presence of MaxMind’s GeoIP2 or GeoLite2 database on Intella Node. These databases associate IP addresses with geographic locations. The databases can be found here:

See the MaxMind website for a description of their differences, beyond price. Please note that when using both of said databases, you will need to register and generate a license key, as described here - "https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/

The chosen database can be installed here by placing it in the following folder:

C:\Users\[USER]\AppData\Roaming\Intella\ip-2-geo-db

Alternatively, when you are on an Internet-connected machine, you can let Intella Node download and install the GeoLite2 database automatically by navigating to menu → Servers → Nodes → click Configure button on a node panel → Geolocation view, putting your license key in the "Your license key" field and clicking the Download button. After clicking this button, the download will start. The download progress will be shown in the Status field. Once the download has completed successfully, a green validation message will be shown here.

Custom tile server

To use the Email geolocation feature, check the Determine the geographic location of an email sender’s IP address option when adding a new source. Presence of GeoIP2 or GeoLite2 database is required on Intella Node.

16. HCL/IBM Notes

To index NSF files, HCL/IBM Notes 8.5 or higher is required. Only the application files are necessary, HCL/IBM Notes does not have to be fully set up and configured. In principle, all HCL/IBM Notes 8.5.x versions or later can be used, but the following versions will produce a warning:

  • 8.5.3 FP 3

  • 8.5.3 FP 4

  • 8.5.3 FP 5

  • 9.0

These versions contain a bug described here that cause emails with multiple “Received” headers to be altered: all Received headers will get the value of the first header. At the time of writing HCL/IBM Notes 9.0.1 was available, in which this bug has been fixed.

To index files made with HCL/IBM Notes 9.x, we recommend installing HCL/IBM Notes 9.x.

Notes 9.0.1FP8 or higher needs to be installed to decrypt messages in a non-encrypted NSF. Other versions will work, but encrypted messages will not be decrypted. In order to use an older version you need to select the Enable using unsupported version of HCL/IBM Notes checkbox.

Intella Investigator needs to know the location of HCL/IBM Notes to validate ID files in keystore. To set HCL/IBM Notes path in Intella Investigator go to Settings > HCL/IBM Notes to check if the location is validated.

Intella Node needs to know the location of HCL/IBM Notes to index NSF files. To set HCL/IBM Notes path in Intella Node go to Servers > Nodes > Node configuration > HCL/IBM Notes to check if the location is validated.

Click Validate button to ensure that Intella Investigator or Intella Node can locate the HCL/IBM Notes program files on the system. The status is shown above the Validate button.

If validation fails, adjust the path to the HCL/IBM Notes folder in the Path field and click Apply.

During Notes validation Intella Investigator will check the Notes version. Versions listed above are not recommended, so to enable use of such non-recommended Notes versions, select the Enable using unsupported version of HCL/IBM Notes checkbox.

The default installation directories for HCL/IBM Notes is one of the following:

  • C:\Program Files\IBM\Lotus\Notes

  • C:\Program Files\IBM\Notes

  • C:\Program Files (x86)\IBM\Lotus\Notes

  • C:\Program Files (x86)\IBM\Notes

17. Branding

There are two branding products available for Intella Investigator:

  • Intella Investigator Co-branding

  • Intella Investigator Branding

Based on the branding product available on your dongle, your company’s logo can be placed next to our proprietary logos (Intella Investigator Co-branding) or it can replace all of them (Intella Investigator Branding).

Branding will only be enabled when the Branding or Co-Branding product is present on your dongle. For inquiries please contact your sales rep or reseller.

When the Branding or Co-Branding product is present on your dongle, you will be presented with a Branding option on the Settings page.

You can change the login page logo in this section.

The logo that is larger then 400px in height or width will be resized which might compromise its appearance.

Just press Upload logo button and select the desired logo you want to be shown on the login page.

Branding Login

After selecting a logo a preview of the login screen should be updated accordingly.

For changing header logos this section should be used.

Branding Header

To brand the Intella Investigator headers, you can upload your company’s logo image here.

The optimal size of the uploaded logo is up to 150 by 30 pixels. When you upload a larger logo, it will be resized, which might compromise its appearance.

The absolute center of the logo image does not always represent the visual center of logo, but you will have the option to re-align it vertically.

18. Interoperability with other Intella products

18.1. Reviewing a case using Intella Viewer

It is possible to use Intella Viewer products to connect to a case shared with Intella Connect or Intella Investigator. This can be especially useful if certain features available in the former tools need to be used in a case which is actively reviewed. In such scenarios unsharing a case might not be an option. Thankfully, Intella Connect and Intella Investigator use remote APIs which are compatible with Intella Viewer, so such connection is possible.

In Intella Case Manager, choose "Add…​" → "Open a shared case" to get "Create new case" window.

image

Case link field needs to be filled with case URL, example:

http://192.168.1.115:9999/shared/master-outlook

Investigator and Passphrase fields need user and his password, which was granted access to that case.

Use "Check connection" button to verify if Case link, Investigator and Passphrase field are correct and the shared case can be reached. If those fields will be correct and shared case can be reached, then message "Connection OK" will be shown next to "Check connection" button. Otherwise check if Case link, Investigator and Passphrase field are correct or if firewall is not blocking communication. If the case still cannot be reached, check if it can be reviewed in browser as described in Reviewing with Intella Investigator section.

After filling in Local Case folder and clicking Ok, the shared case will open and the reviewer can start reviewing it.

18.2. Uploading a case to Intella Connect or Intella Investigator using Intella Professional

Intella Professional client can upload its local cases straight to Intella Connect or Intella Investigator, given that the latter has been properly configured beforehand. This process relies on a proprietary case format called Intella Case File with an *.icf extension.

18.2.1. Uploading an *.icf file

The process is initiated from the Case Manager window of Intella Professional client, by pressing Upload…​ button. The following dialog will appear.

image

The Server URL field should specify a full URL point to your Intella Connect or Intella Investigator instance, including a protocol and port (ex. https://connect.mycompany.com:443). User name should match a valid Intella Connect or Intella Investigator user account. That account should have appropriate permissions to either manage the Intella Connect or Intella Investigator instance as an administrator or at minimum manage cases. The Passphrase should match the password used when signing in using Intella Connect or Intella Investigator login form.

In the ICF area, please select the appropriate option depending if you want to use existing *.icf file or create a new one:

  • Create new - allows to specify a location where a new ICF file will be created. This file can be as large as the case folder itself, so please make sure to specify a disk with sufficient free disk space.

  • Use existing - allows to select existing ICF file, which could be created using Intella Professional beforehand.

After pressing Upload the procedure will start. You can monitor its progress inside the black text area.

Once this operation finishes, you can import the ICF file to extract the contents of the file to a disk on Intella Connect or Intella Investigator server. This feature is available under the Cases / Import / Intella Case File (*.icf) subview.

18.2.2. Windows configuration

The process of uploading *.icf files to Intella Connect or Intella Investigator server is delegated to a secure, well known sftp protocol. Therefore in order to make this feature work properly, the Windows operating system installed on the machine where the product is hosted needs to be correctly configured.

First thing which needs to be done is to install Open SSH Server on machine hosting Intella Connect or Intella Investigator. Depending on which operating system you are running, this process may vary. Newer versions of Windows Server allow to install the server using Windows Settings and Optional Features. Older versions may require to install the binaries from a 3rd party repository. The detailed steps for this process are out of scope of this manual, but below is a list of handy resources which may help you through the process:

Once the Open SSH Server is up and running on the default port (22 or other), make sure to allow the network traffic on Windows Firewall. It doesn’t have to be open to the internet, but you must make sure that connections between your server and the machine running Intella Professional are not interrupted.

You can now move to additional configuration of the Open SSH server.

Open SSH: changing default location of uploaded ICF files

You need to change the default SFTP folder location so that it matches shared system configured in Intella Connect or Intella Investigator. This is usually done by editing the sshd_config file which is created during the installation of Open SSH server. The default location should be C:\ProgramData\ssh\sshd_config, but if it doesn’t work you may need to consult documentation of the Open SSH server for alternatives. Find a line where sftp sftp-server.exe is listed and change it to the following format:

sftp sftp-server.exe -d "D:\configured_shared_file_system\cases"

Make sure to substitute the path according to your file system structure and that the Windows account running Intella Connect or Intella Investigator process has sufficient permissions to access that directory.

At this point you can restart the Open SSH Server Windows service for changes to take effect.

Make sure that your path does not contain whitespaces, as the Open SSH server used to have a problem with handling them. In case of you need more information or a place to ask questions please check this post: https://github.com/PowerShell/Win32-OpenSSH/issues/730

Open SSH: configuring access to "authorized users file"

Uploading of ICF files is handled by private-public key pair encryption, well known and supported by Open SSH server. This happens transparent to the end user and both types of keys are additionally encrypted when stored on disk or when in transfer. This, however, requires Open SSH server to be additionally configured so that the product can update the list of public SSH keys recognized by the server.

Since the product is started by a Windows account belonging to Administrators group, the configuration file that is of our interest should is: C:\ProgramData\ssh\administrators_authorized_keys It may happen that this file doesn’t exist (by default), so if that is the case you should create it. It is of vital importance that only three types of users can access that file: Administrators, System and user account running Intella Connect or Intella Investigator. The following PowerShell script can be used to set those permissions properly (you must run it as an administrator):

$acl = Get-Acl C:\ProgramData\ssh\administrators_authorized_keys
$acl.SetAccessRuleProtection($true, $false)
$administratorsRule = New-Object system.security.accesscontrol.filesystemaccessrule("Administrators","FullControl","Allow")
$systemRule = New-Object system.security.accesscontrol.filesystemaccessrule("SYSTEM","FullControl","Allow")
$intellaAccountRule = New-Object system.security.accesscontrol.filesystemaccessrule("NAME OF ACCOUNT RUNNING INTELLA PRODUCT","FullControl","Allow")
$acl.SetAccessRule($administratorsRule)
$acl.SetAccessRule($systemRule)
$acl.SetAccessRule($intellaAccountRule)
$acl | Set-Acl

Please make sure to change NAME OF ACCOUNT RUNNING INTELLA PRODUCT to a valid Windows Account name which starts Intella Connect or Intella Investigator process.

Proper set of permissions is presented in the following picture:

image

At this point Open SSH server installed on your server becomes as every other SSH server. If you wish to test that everything is fine at this point, you may create a new SSH key pair on a different machine, then append your public key to the mentioned administrators_authorized_keys file and try to connect. This process is well described here: https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement

Depending on the Open SSH Server that you are using, the configuration guide presented above may not be 100% complete. You may also want to change other parameters of the SSH server configuration, like: disabling password authentication, changing Strict Mode, etc. Note that this extra configuration and troubleshooting Open SSH Server issues is not supported by our Support terms and conditions.

19. Migrating Intella Investigator

This section describes the steps required to migrate Intella Investigator from one machine to another either for backup or hardware upgrade purposes.

Please leave Intella Investigator and all cases intact on the first machine until you are ensured that all cases on the second machine are working properly and that migration was successful.

In order to move cases to the second machine please follow these steps:

  1. Install Intella Investigator on the second machine.

  2. Un-share cases you want to move on the first machine - this step is required as changes made to case files during the copying of the case could result in damaged copy.

  3. Copy all cases and original evidence files to the second machine.

  4. (optional) If you want to move configuration settings, these folders also have to be moved (Important: please backup original files first):

    • Intella Investigator Home Folder: C:\Users\[User]\AppData\Roaming\Intella Investigator

    • Intella Home Folder: C:\Users\[User]\AppData\Roaming\Intella

  5. Make Intella Investigator run on desired port by appending ServerPort property in file C:\Users\[USER]\AppData\Roaming\Intella Investigator\user.prefs:

    ServerPort=8081

  6. Start Intella Investigator

  7. Configure proper machine host name & SSL if needed. It is recommended to follow the steps described in SSL setup guide section.

  8. Open Intella Investigator Dashboard on the second machine, navigate to 'Cases' → 'Import' and import each case you want to have available. (Skip this step if configuration files were moved in above step. Note that file C:\Users\[User]\AppData\Roaming\Intella\cases.xml contains cases list, which gets copied in above step.)

  9. Open Intella Investigator Dashboard on the second machine, navigate to 'Cases', click on 'Sources' for each case and make sure that Evidence paths are set-up properly.

  10. The dongle with license can be moved physically to a new machine. Software-based licenses can be migrated using haspupdate.exe. You will find haspupdate.exe in the bin folder in the installation folder. Once haspupdate.exe has been started, go to tab Transfer License and follow the instructions on this tab. See section [dongles] for more information.

.

20. Upgrading to the latest version of Intella Investigator

This section describes how to upgrade to the latest version of Intella Investigator, keep all of the settings and what to look out for.

Why upgrade to the latest version:

It is always best to install and use the latest version of Intella Investigator and Intella Node . As is with any software development, it is near impossible to test every scenario in which the software will be used, and what type of data is indexed with the tool. Although there is vigorous testing regime for all of our products, some customers find issues which they report back to support. These issues are generally resolved and added to the next release. Therefore, using the latest version will give you all of the updates from all previous versions.

Another good reason to upgrade is because the latest version has a number of new features that are not in previous versions. These features can make processing faster, can make analysis of the data easier, and adds more functionality to the tool.

Upgrading Intella Investigator:

There is no problem with installing the latest version of Intella Investigator on the same server. Note that it will need to be installed next to the current version. E.g. as long as the new version is installed in a different folder, the existing version should not interfere with the newer version. In addition, there is no need to uninstall the previous version. The only caveat is when installing Intella Investigator as a Windows Service. See the aspects of installing the latest version below.

When installing a new version of Intella Investigator, we make sure that any configurations from the previous version are also migrated over. We often keep old configuration as backup as well, so your previous configurations are not lost.

Installing the latest version of Intella Investigator is quite straightforward, but you should be aware of these aspects:

  1. Make sure that you are always using the same Windows Account when installing different versions of Intella Investigator

  2. The configuration and settings for your current version are stored in user-specific location, and those locations will not be available to other user accounts. E.g., we have seen cases when users were installing version 2.0 with the "John" user account, then later installed version 2.1 with the "Administrator" user account. They were surprised to see that they ended up with a clean instance of Intella Investigator, with all default configurations and settings.

  3. It is always best to run the latest version of all of our tools. This also applies to Intella Node. Having both Intella Investigator and Intella Node on the same version will help when troubleshooting any issues. The risk of any incompatibility issues between Intella Investigator and Intella Node are reduced when both products are on the same version.

  4. You need to be careful when installing products as Windows Services. There is only ONE Windows Service allowed on the system. Installing a newer version of Intella Investigator or Intella Node as a service will overwrite the paths to executables in Windows Services. Once the install process is complete, and the service is restarted, there should be no issues. However, we have seen a number of cases when this did not work as it should have. The outcome is that the service was still pointing to the old version of Intella Investigator. In those situations, you should refer to subsection "Manual un-installation Intella Investigator Windows service" of Installing as Windows Service on how to manually update the service:

Before you start the upgrade:

You should consider the following before you start the Intella Investigator upgrade process:

  1. With every release of Intella Investigator we provide Release Notes. The very last section of the release notes is the 'Upgrade Notes' section. In that section we list information regarding backwards compatibility with earlier case versions. This section also points out any features which may be limited due to the version upgrade etc.

  2. We always suggest backing up your Intella Investigator systems before undertaking any upgrades. This minimises the risk of downtime, as you have an avenue to go back should you have any issues with the upgrade process.

  3. You should make a backup of these folders (which contain entire configurations) prior to proceeding with the upgrade. C:/Users/USER/AppData/Roaming/Intella C:/Users/USER/AppData/Roaming/Intella Investigator

New major versions require a dongle update. See section [dongles] for more information.

After the upgrade is complete:

Once the upgrade process is complete, start Intella Investigator and check that it is reporting the correct version. You can do this by clicking on the admin user avatar tab and selecting the 'About Intella Investigator' option from the dropdown list.

product version

If the latest version is not running, there may be an old version of Intella Investigator still running.

Migrating keystores and self-signed SSL certificates:

Once the new version of Intella Investigator is running, you may need to reconfigure some advanced setting like SSL. This should be straightforward if you have purchased your SSL certificate from a well known provider like Go Daddy etc. That said, we do see a number of issues with SSL certificates coming through support. But, these issues are mostly related to when the user/company manages their own certificates. In these cases the users report that the upgrade went well, but they cant get SSL to work. In the SSL wizard they get errors like this:

"Unable to activate the keystore because it’s not valid. Details: Keystore contains multiple certificates, but they were not imported to the private key chain".

The issue is that unlike self managed certificates, certificates from a well known providers are generally added to Java’s trusted keystore. That means that certificates from a well known provider will work 'out of the box' when setting up SSL in Connect or Node.

When users/companies create their own self-signed certificates, they usually create two Certification Authorities (ROOT & Intermediate), and then let the Intermediate CA issue the certificates. But, Java doesn’t know anything about ROOT & Intermediate certificates for that company, and these certificates are not automatically trusted. Therefore, the self-signed certificates do not work when a new version of Intella Investigator or Intella Node are installed.

When you are upgrading Intella Investigator or Intella Node, the existing (trusted) Java store is wiped out, and replaced with a clean one. For these products to trust the self-signed certificates, you have to add the certificates to the trusted CA store of the JAVA RUNTIME that we shipped with the installer used for the upgrade. This process is described subsection "advanced using self signed certificates" of SSL Guide .

So in short, if you are generating your own SSL self-signed certificates, then you will need to update Java’s trusted CA store (for both, Intella Investigator or Intella Node systems) after each upgrade.

Migrating fonts:

When upgrading Intella Investigator, then the fonts copied to "Font" folder will need to be copied to the upgraded version.

21. Remote indexing example using Intella Investigator and Intella Node

This example of using Intella Investigator and Intella Nodes to index evidence and share the resulting case assumes a setup of local network with two computers. Note that this example uses IP address to address a computer, however, domain or computer names can be used as long as it is a valid UNC (Universal Naming Convention) path.

Remote Indexing Architecture

Install Intella Investigator on computer 1 with IP address 192.168.1.2 on port 9999. Please refer to Getting started section for more information on how to install Intella Investigator.

Install Intella Node on computer 2 with IP address 192.168.1.3 on port 9999. Please refer to Getting started section for more information on how to install Intella Node.

Add Intella Node to Intella Investigator admin dashboard→Servers→Nodes by clicking on Add Intella Node button where Name will be "myFirstNode", Host will be "192.168.1.3" and Port will be "9999".

My first Node

Share a folder called "cases" on computer 2 under UNC \\192.168.1.3\cases. Use Windows folder sharing facilities to achieve this.

Add shared folder to Intella Investigator Dashboard→Servers→Shared file system by clicking on Add shared folder button where UNC Path will be \\192.168.1.3\cases

Having folder "Enron" inside folder "evidence", share the folder called "evidence" on computer 2 under UNC \\192.168.1.3\evidence. Use Windows folder sharing facilities to achieve this.

Add shared folder to Connect admin dashboard→Servers→Shared file system by clicking on "Add shared folder" button where UNC Path will be \\192.168.1.3\evidence

Shared folders

Create case by clicking on Create case button in Intella Investigator Dashboard→Cases, fill out Case name as "Enron" and as Case folder choose "Cases" folder shown within Shared folders in folders tree view. This will automatically fill out Case folder with \\192.168.1.3\cases\Enron.

Creating case

Add new source. Choose file or folder source type. Choose Shared folders→evidence→Enron from folders tree view as source folder.

Add source

Continue source definition until last sheet. Select checkbox "Yes, I want to index this source now (recommended)" and choose "myFirstNode" as Intella Node to use.

Select node

After indexing finishes, the case can be shared from its current location. Connection to computer 2 cannot be lost during sharing of that case as that’s where the case resides.

Sharing a case over the network could cause various issues resulting from network malfunction. Exporting will also take longer over network as compared to exporting from case on local disk. In order to share this case directly from local disks of Intella Investigator, the case folder needs to be moved from it’s location on Intella Node’s local disk to Intella Investigator’s local disk. The case then needs to be deleted from Intella Investigator admin dashboard→cases list without checking Also remove the related case folders from disk, so that the reference to this case is removed without deleting the actual case files. The case then needs to be added using "Cases→Import→Existing case" and selecting the case folder from Intella Investigator’s local disk within folders tree view.

22. Command-line support

Intella Investigator supports the use of command-line arguments for tasks such as opening or creating a case and indexing a folder of evidence files.

22.1. Executables and licenses

The following executable is available for command-line scripting for Intella Investigator:

  • IntellaCmd.exe will only show feedback on the command-line. Use this for automating case creation and indexing.

For IntellaCmd.exe, an Intella Professional, Node, Connect or Investigator license is required.

22.2. Command-line arguments

Indexing a folder
The following instruction can be used for open or create a new case and index a folder with evidence files:

IntellaCmd.exe -user <user> -case <case location> -evidence <evidence location> -sourceName <name> -indexAddedSource

or in the abbreviated form:

IntellaCmd.exe -u <user> -c <case location> -e <evidence location> -sn <name> -ias

Indexing options can be specified using the following arguments:

  • -e, -evidence <evidence location> - this option will accept either file or folder, for example to add disk image as evidence, specify the first part of the disk image.

  • -tz, -sourceTimezone [TZ] - The time zone of the new source (example: -sourceTimezone CET).

  • -ima, -indexMailArchives [true|false] - Index mails and files in mail archives (default: true).

  • -ia, -indexArchives [true|false] - Index files inside archives, such as ZIP and RAR files (default: true).

  • -ie, -indexEmbedded [true|false] - Extract images embedded in emails, MS Office, and PDF documents (default: true).

  • -icm, -indexChatMessages [true|false] - Index chat messages (default: true).

  • -scc, -splitChatConversations [day|week|month|year] - Split chat conversations by day|week|month|year (default: day).

  • -pcma, -presentChatMessagesAs [conversationsAndMessages|conversationsOnly|messagesOnly] - Present chat messages as conversationsAndMessages|conversationsOnly|messagesOnly (default: conversationsAndMessages).

  • -mmpc, -maxMessagesPerConversation [number] - Maximum number of messages per chat conversation (default: unlimited).

  • -iu, -indexUnstructured [true|false] - Heuristically extract text fragments from unsupported and unrecognized file types (default: true).

  • -rd, -recoverDeleted [true|false] - Recover deleted emails, files, and Notes deletion stubs from the supported file types (default: false).

  • -cef, -cacheEvidenceFiles [true|false] - Copy all evidence files into the case folder (default: false).

  • -ap, -analyzeParagraphs [true|false] - Enable paragraph analysis (default: false).

  • -geo, -determineEmailSenderIpGeolocation [true|false] - Enable the determination of the geographic location of an email’s sender IP (default: false).

  • -tf, -taskFile [File] - Specify a .json task file to run after indexing completes, containing e.g. keyword of hash list searches and tagging or exporting the results. Use -runTaskFile to run tasks on an existing case.

  • -nc, -newCase - Convert the case to a new version when available. The '-newCaseName' parameter is required. The confirmation dialog will not be shown.

  • -ncn, -newCaseName - The name of the new case if the case can be upgraded and the '-newCase' parameter was specified.

  • -ct, -caseType [compound|regular] Type of the case default is regular.

  • -asc, -addSubCase <sub case location> Specifies a path to a sub case to be added to the compound case when it’s created. If the case already exists then it adds the sub case to the compound case. The option is ignored if a regular case is opened or created

  • -latz, -listAllTimezones - Prints to standard output list all available timezones which are allowed to be used in conjunction with -tz parameter.

  • -sc, -sourceCustodian <custodian> - Custodian to be associated to the source

  • -ict, -importCaseTemplate <path to ICT file> - specifies a path to the case template to be used when creating a new case.

  • -stf, -sourceTypeFilter <comma separated list> specifies a comma separated list of media types or categories that need to be included or excluded depending on the value of the -sourceTypeFilterMode.

  • -stff, -sourceTypeFilterFile <plain text file> same as sourceTypeFilter but specifies a plain text file with a list of media types or categories. Media types are separated by new lines, type per line.

  • -stfm, -sourceTypeFilterMode [include|exclude] specifies how sourceTypeFilter should work. If the mode is set to "include" that means IntellaCmd will only index the types specified in the text file. If the mode is set to "exclude", IntellaCmd will index all types except for the ones specified in the text file.

  • -secs, -sourceEnableCrawlerScript - Enables a crawler script for this source.

  • -scst, -sourceCrawlerScriptType [python|groovy|jar] - Mandatory if sourceEnableCrawlerScript present

  • -scsf, -sourceCrawlerScriptFile <path to script file> - Path to a script file (python, groovy or jar) (mandatory)

  • -scsesl, -sourceCrawlerScriptEnableScriptLog - Enables the script log feature (optional, default: false)

  • -erf, -exceptionReportFile <path to CSV> - When used with one of the indexing options (indexAddedSource, indexNewData or reindexAll), tells Intella to generate CSV file with exceptions.

  • -fef, -fatalErrorsFile <path to CSV> - When used with one of the indexing options (indexAddedSource, indexNewData or reindexAll), tells Intella to generate a CSV file with the fatal errors that are shown in the Errors tab.

  • -addSourcesFromJson - Bulk add data sources defined in JSON data sources configuration file.

  • -st, -sourceType <type> - (Optional) source type when adding a new source or importing load file. Supported source types are : FOLDER_OR_FILE, DISK_IMAGE, LOADFILE. Default source type is FOLDER_OR_FILE. Using LOADFILE type is equivalent of using '-importLoadFile' option.

  • -vdi, -validateDiskImage [true | false] - If true, validate the disk image when adding a new disk image source. Default is true.

  • -cus, -carveUnallocatedSpace - Enable carving of unallocated space when adding a new disk image source. Default is false.

  • -vac, -verifyAff4Hashes - Enable verification of hashes in AFF4 physical images when adding a new AFF4 disk image source. Hash verification in AFF4-L (logical) images is always enabled. Default is false.

  • -ivsc, -indexVolumesShadowCopies - Enable indexing of volume shadow copies when adding a new disk image source. This will index all volume shadow copies in the disk image. If you need to index a specific shadow copy only, please use the UI version. Default is false.

  • -suf, -suppressUnchangedFilesInVsc [true | false] - Suppress unchanged files in volume shadow copies when adding a new disk image source. See the section about Volume Shadow Copies for more details. Default is true.

  • -pif, -preferNewestFilesInVsc [true | false] - When "Suppress unchanged files in volume shadow copies" option is enabled, prefer the newest files. See the section about Volume Shadow Copies for more details. Default is true.

  • -iclaf, -indexChangedLastAccessFilesInVsc [true | false] - When "Suppress unchanged files in volume shadow copies" option is enabled, take "Last Access" date into account when determining changed files. See the section about Volume Shadow Copies for more details. Default is true.

The following format should be used to define data sources for "addSourcesFromJson" parameter:
{
	"sources": [
    {
      "name": "Pst archive",
      "path": "d:\\Data\\evidence\\some-evidence.pst",
      "timezone": "Europe/London",
	  "indexMailArchives" : true,
 	  "indexChatMessages" : true,
	  "processingMode" : "CONVERSATIONS_AND_MESSAGES",
	  "splitMode" : "PER_DAY",
	  "numberMessagesPerConversation" : 100,
	  "indexArchives" : true,
	  "indexEmbeddedImages" : true,
	  "indexDatabases" : true,
	  "indexWindowsRegistry" : false,
      "indexWindowsEventLog" : false,
	  "indexBrowserHistory" : true,
	  "recoverDeleted" : false,
	  "extractFullText" : false,
	  "indexVolumeShadowCopies" : false,
	  "cacheEvidenceFiles" : false,
	  "analyseParagraphs" : false,
	  "emailsGeolocationEnabled" : false,
	  "custodian" : "Custodian 1 "

    },
    {
      "name": "Compressed aff4",
      "path": "d:\\Data\\aff4-working\\APFS - AFF4 - Compressed.aff4",
      "timezone": "Europe/Paris",
	  "indexMailArchives" : true,
 	  "indexChatMessages" : true,
	  "processingMode" : "CONVERSATIONS_AND_MESSAGES",
	  "splitMode" : "PER_DAY",
	  "numberMessagesPerConversation" : 100,
	  "indexArchives" : true,
	  "indexEmbeddedImages" : true,
	  "indexDatabases" : true,
	  "indexWindowsRegistry" : false,
      "indexWindowsEventLog" : false,
	  "indexBrowserHistory" : true,
	  "recoverDeleted" : false,
	  "extractFullText" : false,
	  "indexVolumeShadowCopies" : false,
	  "cacheEvidenceFiles" : false,
	  "analyseParagraphs" : false,
	  "emailsGeolocationEnabled" : false,
	  "custodian" : "John Doe"
    }

	]
}

Repair broken index files

The following option can be used to rebuild certain index files.

  • -rInd,-rebuildIndexes - Rebuild secondary index files

The option works only with IntellaCmd.

Sample of the usage :

IntellaCmd -u user -c <case location> -cn <case name> -rInd

Importing a load file
The following options can be used to import a load file: * -ilf, -importLoadFile [true]false] - Indicates whether to interpret the evidence data as a load file. * -of, -opticonFile [File] - Import images from the specified Opticon file. * -lft, -loadFileTemplate [File] - The import template file to use.

Add hash filters
* -shf, -sourceHashFilter <list1,list2> - Specifies a comma separated list of hash lists if they have already been added to Intella before. * -ihFCSV, -importHashFilterCsvFile <Hash filter csv file> - Imports the specified CSV file as a hash filter to Intella. Works with additional parameters "importHashFilterName","importHashFilterFirstRowIsHeader","importHashFilterMd5Column" * -ihfn, -importHashFilterName <name> - Name specifies the name of the hash filter to be created. * -ihFih, -importHashFilterFirstRowIsHeader [true, false default false] -Specifies if the first row in the file should be treated is a header. * -ihFMd5No, -importHashFilterMd5Column [number] - Specifies if the MD5 column number in the CSV hash file. The column is 1 based: 1, 2, 3…​

Running tasks
Use the -runTaskFile option to run a .json task file on an existing case. This command can only be used with IntellaCmd.exe.

Note that the -taskFile option is used for running tasks at the end of indexing.

Converting a case
The following instruction can be used for converting an old case (2.1.x or newer) to the current case format:

IntellaCmd.exe -user <user> -case <case location> -newCase <new case location> -newCaseName <new case name>

Enhancing the case data through external means

The following options are available to export and import data in a case. This can be used for externally analyzing item content and using that to enhance the case.

  • -et, -exportText - Export the extracted texts to a folder. The options -matchQuery, -savedSearch,
    -deduplicate and -exportDir can be used to control this operation. The resulting files will be named based on their item ID, e.g. 123.txt.

  • -eb, -exportBinaries - Export the item binaries in their original format to a folder. The options
    -matchQuery, -savedSearch, -deduplicate and -exportDir can be used to control this operation. The resulting files will be named based on their item ID, e.g. 123.jpg.

  • -ed, -exportDir [Folder] - When used with the -exportText argument, the folder where the resulting text files will be exported to.

  • -mq, -matchQuery [String] - Can be used to limit the exported items to those that match a specific keyword query.

  • -ss, -savedSearch [File] - Can be used to limit the exported items to those that match the specified saved search. The argument is the path to an XML file holding the saved search. Such a file can be exported from the Saved Searches facet. This allows for using other facets, such as the Date and Type facets, and to combine queries.

  • -dedup, -deduplicate [true|false] - When used with the -exportText command, deduplicate the items before exporting (default: false).

  • -itext, -importText [Folder] - Import text files from the specified folder. The file names must be based on item IDs such as 123.txt, where 123 is an item ID. The files must be in UTF-8 format. A use case for this is item texts that have been processed by a service such as Google Translate. The texts will be shown in an "`Imported Text” tab in the Previewer. The imported texts are subject to keyword search, content analysis, exporting, etc.

  • -itags, -importTags [File] - Import tags from the specified CSV file. The first column must contain an item ID. The remaining columns must contain tags that will be associated with the item.

  • -idup, -importToDuplicates [true|false] - Controls whether the imported texts and tags should only be applied to the specified item IDs, or also to all duplicates.

  • -ei, -exportItems - Export items to a directory. Options '-matchQuery', '-savedSearch', '-deduplicate', '-exportDir', '-exportTemplateFile', '-exportTemplateName' can be used to control this operation.

  • -etn, -exportTemplateName <template name> - Name of the export template that should be used for the export. It must be an already existing export template located in the system folder.

  • -etf, -exportTemplateFile <path to XML> - Path to the export template XML that should be used for the export. It must be an already existing export template located in the system folder.

  • -eel, -exportEventLog <export file location> - Export all events from the case to a CSV file specified by this location.

  • -rsp, -replaceSourcePaths <old_string> <new_string> - Scans all sources defined in the case and replaces all the occurrences of the source path fragment "old_string" with new_string". Example:

    IntellaCmd.exe -u user -c case_location -rsp old_string new_string

Listing the defined sources
Use the -exportSourceList or -esl option to export the list of sources in a case, including their configuration, to an XML file:

IntellaCmd.exe -u <user> -c <case location> -exportSourceList <file>

Adding passwords and certificates to key store

The following commands can only be used with IntellaCmd.exe.

The following options are available to add passwords and certificates to a case, so that it is possible to index encrypted data. The general usage is:

IntellaCmd.exe -u <user> -c <case folder> -keystore <operation> <parameters>

For example, this command will add password "123456" to the case key store:

IntellaCmd.exe -u <user> -c <case folder> -keystore -addPassword 123456

Intella will create a new case if the specified case location doesn’t exist.

The supported operations are:

  • -addPassword [password] - adds a single password to the key store.

  • -addPasswordList [password list file] - adds all passwords from a text file (UTF-8).

  • -addNotesIdFile [ID file] - adds a single Nodes ID file that is not protected by password. Use -validateNotesIdFile option to also validate the ID file before adding it.

  • -addNotesIdFilePw [ID file] [password] - adds a single Nodes ID file protected by password. Use -validateNotesIdFile option to also validate the ID file before adding it.

  • -addX509Certificate [certificate file] - adds a X.509 certificate that can be used to decrypt S/MIME emails.

  • -addPgpCertificate [certificate file] - adds a PGP certificate that can be used to decrypt PGP/MIME emails.

  • -addBitLockerKey [key] - adds a single BitLocker recovery key (password).

  • -addBitLockerRecoveryFile [BEK file] - adds a BitLocker recovery file (BEK).

  • -addKeystoreFromJson [JSON file] - adds keystore elements defined in JSON input file to the keystore.

The JSON input file for -addKeystoreFromJson parameter should have following format:
{
	{
	"keys" : [
	{
		"type" : "password",
		"data" : {
				"__comment_1__": "This is comment which is not going to be processed",
			"password" : "password_value",
			"encrypted" : false
		}

	},
	{
		"type" : "passwordList",
		"data" : {
			"file" : "d:\\tmp\\keystore.data\\passwords.txt"
		}
	},
	{
		"type" : "notesIdFile",
		"data" : {
			"password" : "123",
			"file" : "d:\\tmp\\keystore.data\\user1.passwd-123.id",
			"validate" : true
		}
	},
	{
		"type" : "X509Certificate",
		"data" : {
			"password" : "",
			"file" : "d:\\tmp\\keystore.data\\cert.p12"
		}
	},
	{
		"type" : "PGPCertificate",
		"data" : {
			"password" : "password",
			"file" : "d:\\tmp\\keystore.data\\cert-pgp-sec-pass-password.asc"
		}
	},
	{
		"type" : "BitlockerRecoveryFile",
		"data" : {
			"__comment_1__": "We do not support encrypted key data so password is not necessary",
			"file" : "d:\\tmp\\keystore.data\\5BF6E030-7379-42CC-9D92-B2DB81520A28.BEK"
		}
	},
	{
		"type" : "BitlockerRecoveryKey",
		"data" : {
			"__comment_1__": "We do not support encrypted key data so password is not necessary",
			"key" : "181621-236489-662046-063536-387695-066913-184910-400015"
		}
	}

	]
}

Headless mode
It is possible to run Intella in a non-interactive (headless) mode.

IntellaCmd.exe -user <user> -case <case location> -evidence <evidence location> -sourceName <name>

The following commands are supported:

  • -exportSourceList

  • -exportText

  • -exportBinaries

  • -importTags

  • -importText

  • -importLoadFile

  • -runTaskFile

  • -keystore <operation>

Logging
The desired log level can be specified using the -log argument, for example:

IntellaCmd.exe -user <user> .... -log DEBUG

Valid options for the log level are:

  • ERROR

  • WARN

  • INFO

  • DEBUG

Selecting an appropriate license
In some cases, it may be useful to let Intella select a license without showing the interactive license selection dialog. The following options can be used with both Intella.exe and IntellaCmd.exe. When used with IntellaCmd.exe, and if there is more than one license found based on the arguments, the first found license will be selected automatically.

The options are:

  • -autoSelectFullLicense - Automatically select the first available license, ignoring trial and expired licenses. Intella will fail to start if no such licenses were found.

  • -autoSelectFullProcessingLicense - Automatically select the first available license that allows for case creation, ignoring trial and expired licenses. Intella will fail to start if no such licenses are available.

  • -autoSelectLicenseType <type> - Automatically select the first available license of the given type, ignoring trial and expired licenses. Intella will fail to start if no such licenses are found. The following types can be used:

    • PROFESSIONAL - Intella Professional

    • NODE - Intella Node

  • -keyID - Only the licenses from the given key ID will be used. This option may be useful when you have more than one dongle. This parameter can be combined with any of the other three license selection parameters.

Be aware that trailing backslashes in paths may give issues when the path is placed between quotes. Either try to remove the trailing backslash, or escape it: "C:\My Docs\" becomes "C:\My Docs\\"

22.3. Example: invoking Google Cloud AI services

This section describes an example batch script, showing how Google Cloud’s AI services can be used to extend an Intella case with entity extraction and content categorization. A Windows batch script is used to index evidence data, submit specific items to Google Cloud for analysis, and import the results back as tags in the case.

The approach described here is not restricted to just these two types of case data enrichment, or to only Google Cloud’s offerings. Examples of other types of document enrichment that are made possible this way are:

  • Document translation.

  • Sentiment analysis.

  • Key phrase extraction.

  • Summarization.

  • Document classification, using classification models specifically trained for a case or task (i.e. predictive coding).

Other types of media may also be analyzed, e.g.:

  • Audio and video files:

    • Spoken language detection.

    • Transcription.

  • Image and video files:

    • Object detection, e.g. vehicles, weapons, drugs, people.

    • Topical detection, e.g. logo’s, celebrities, landmarks.

    • Face detection and recognition.

    • Explicit content detection.

    • Finding similar media on the web.

Such services are currently available from several providers, including Google, Amazon, IBM, Microsoft, and others.

Preparation
Ensure that Intella 2.2 or above is installed. The method outlined below relies on command line instructions that have been added in Intella 2.2.

Prepare access to Google Cloud:

  • Visit https://www.google.com and register for a Google account.

  • Visit https://cloud.google.com and click Try GCP Free to let the account access the Google Cloud Platform. Fill in the required details. At the time of writing, Google offers USD$ 300 of free resource usage in the first 12 months.

  • Click on Home button (top left corner) > Getting started > Create an empty project. Enter an arbitrary number, e.g. "Intella Test" and click Create.

  • Click on the project chooser dropdown in the top navigation bar and select the newly created project. The project may display an animated icon, indicating that the project is still being initialized. One can only select the project once it has been initialized.

  • In the APIs box, click on Go to APIs overview > Enable APIs and services. You may also be greeted by the Getting started page, then just click on APIs.

  • Search for Cloud Natural Language API. Select it and click the Enable button.

  • Optional step: Click on Home > APIs and Services > Credentials. Click the Create credentials button and select API key. A dialog opens that shows the key. Copy this key to a text file. This key is not needed for our example script, as the gcloud utility handles authentication and authorization transparently. It is needed for other services such as Google Translate, which are not supported by the gcloud utility. Google Translate does expose a REST web service, in which this key will be used.

  • Alternative optional step: one can also consider registering a service account. Service accounts make it possible to access files stored on Google Cloud Storage, allow for more advanced access restrictions and auditing, and are not as easy to leak as API keys. Setup and use of service accounts is beyond the scope of this tutorial.

  • Visit https://cloud.google.com/sdk and click the Install the Cloud SDK link.

  • Download and run the installer. At the end of the installation wizard, select the option to run the init procedure. When asked, enter/select your Google account, and select the project defined earlier. This will set the default authentication and project for the gcloud command; no access credentials and project identifier will be needed when running entity recognition or text classification.

Step by step description of the batch script
At the end of this section, two Windows batch scripts are listed; one for running entity extraction on a case, and one for text classification. This section provides a step-by-step explanation of the entity extraction script. The text classification script is almost identical.

First, we declare some variables that make the script easier to read and manage. Also, it alleviates a current limitation in Intella’s command line parameters, namely that all files paths specified as parameters to IntellaCmd.exe need to be absolute.

:: Prepare state
set INTELLA="C:\Program Files\Vound\Intella 2.2\IntellaCmd.exe"

set BASE="C:\Intella GCP Test"

set CASE=%BASE%\Case +
set EVIDENCE=%BASE%\Evidence +
set EXPORT=%BASE%\Export +
set ENTITIES=%BASE%\Entities +
set TAGS=%BASE%\Tags

To facilitate experimenting, we clean up all folders produced by this script. This will have to be adjusted for a production environment, as it makes it very easy to lose work this way.

:: Clean up from previous runs
rmdir /Q /S %CASE% +
rmdir /Q /S %EXPORT% +
rmdir /Q /S %ENTITIES% +
rmdir /Q /S %TAGS%

First, we index all evidence files into a new case:

:: Index the evidence files into a new case
%INTELLA% -user John -case %CASE% -caseName "Google Cloud Entity Extraction Test" -evidence %EVIDENCE% -sourceName "Emails" -indexAddedSource

Next, all items are exported as plain text files:

:: Export the bodies of all items as text files
%INTELLA% -user John -case %CASE% -exportText -exportDir %EXPORT%

This produces a collection of text files. The file name is the numeric ID of the item in the case.

All data is now ready for analysis by Google Cloud’s entity analysis service. We loop over all exported files and invoke gcloud to upload the text and extract all entities in it. gcloud will automatically use the account credentials and the selected project that was entered during the init procedure of the Cloud SDK installer. For each item, the output is written to a file in the Entities folder, with the same name as the original text file.

:: Use Google Cloud entity analysis on all text files.
:: […]
mkdir %ENTITIES%

for %%f in (Export\*.txt) do (
   echo %%f
   call gcloud ml language analyze-entities --content-file=%%f
      --flatten="entities[]" --format="csv[no-heading,separator='/',
      terminator=','](entities.type,entities.name)" >> %ENTITIES%\%%~nf.txt
)

The standard gcloud output format is a JSON document. As this is hard to process in a Windows batch script, we set the format to CSV, restricted to listing the entity type (e.g. "ORGANIZATION", "PERSON") and the entity name (e.g. "Enron", "John Doe"). Normally, this produces a two column CSV file, with the type in the first column and the name in the second, and with "`name” and "`type” headers in the first row. By changing the comma to a slash, changing the line terminator to a comma, and by suppressing the heading, we produce a single line of comma-separated entities, like this:

ORGANIZATION/Enron,PERSON/John doe,

This is already very close to the hierarchical tag format that Intella will import at the end of the script.

Next, we concatenate all text files into a single CSV file and add the file base name (i.e. the item ID) as the first column in that file.

:: Concatenate all the entities to a file that can be imported as a tag file.
:: […]
mkdir %TAGS%

for %%f in (Entities\*.txt) do (
   if %%~zf gtr 2 (
      echo | set /p="%%~nf," >> %TAGS%\tags.csv
      type %%f >> %TAGS%\tags.csv
      echo.>> %TAGS%\tags.csv
   )
)

The line may now look like this:

53,ORGANIZATION/Enron,PERSON/John doe,

A few tricks are needed to make this work in a Windows batch script. The echo command normally ends its output with a newline. To prevent the first echo invocation to put a newline after the item ID and comma, we let the set command handle the output of the item ID and the comma. The type command does not produce a newline, hence the need for a second echo call after it. The test for files greater than 2 bytes is there because some items do not produce any entities. In that case, the entity file will contain the text "/,", which when added to the CSV file will result in an error; redundant commas are accepted but redundant slashes are not.

Finally, we are ready to import the found entities as tags into the case:

:: Import the entities as tags into the case +
%INTELLA% -user John -case %CASE% -importTags %TAGS%\tags.csv

Script considerations
The Windows batch script demonstrates how information in an Intella case can be enriched using an external service such as Google Cloud and how the results can be imported into the Intella case. The only requirement is the installation of the Google Cloud SDK and some online project setup.

Still, the script has many shortcomings that one likely needs to address for production usage. These may be tackled in a future version of the script.

  • The script does not escape any special characters. For example, in the entity extraction output we have seen entity names containing quote characters. This produces some interpretation issues with the generated tags file.

  • Email bodies also contain metadata of other emails, such as senders, receivers, and subjects. These may affect the output of certain analysis techniques. Ideally, these headers would be filtered out before the text is being submitted for analysis.

  • The gcloud command-line utility does not (yet) support invoking Google’s text translation service, or several of the other mentioned services. For that, a different approach is needed, e.g. utilizing curl and parsing the JSON output that comes back.

  • The Windows batch scripting language is weak and brittle. Windows PowerShell may be a better alternative, with built-in facilities for invoking REST web services and parsing JSON output, as well as better options for text processing.

  • The Google Cloud entity recognition and text classification output contain salience and confidence numbers respectively. These can be used to suppress the weaker entities and categories, or to put them in separate categories.

  • In the Windows Task Manager we observed that memory consumption of the cmd.exe process rose to hundreds of MBs during the concatenation of the entities files into a single CSV file. In this case, a collection of only 4000 files were processed, with a resulting CSV file of only 5 MB.

  • Both scripts upload the same data to Google Cloud. For realistic case sizes, the data is ideally moved to the cloud in one batch upload, after which several analysis types can be applied without requiring the data to be uploaded each time. Data storage in the cloud also comes at a price though. Another benefit is speed; the script is single-threaded, i.e. all gcloud invocations run purely sequentially, and the analysis of a single email (incl. upload and download) takes about 1-3 seconds each. The script makes no use of horizontal scalability typically provided by cloud technologies.

  • We present a single script to emphasize that everything can be fully automated and to encourage experimenting. In real-life situations, one may want to introduce some breakpoints to perform manual inspection of the intermediary results, e.g. review the quality of the exported items before mass-analysis in the cloud or do a sanity check on the structure of the tags file before importing it into a case.

Full entity extraction script
The script below can also be found in the Intella installation folder, see scripts\RunEntityExtraction.bat.

:: Prepare state
set INTELLA="C:\Program Files\Vound\Intella 2.2\IntellaCmd.exe"

set BASE="C:\Intella GCP Test"

set CASE=%BASE%\Case
set EVIDENCE=%BASE%\Evidence
set EXPORT=%BASE%\Export
set ENTITIES=%BASE%\Entities
set TAGS=%BASE%\Tags

:: Clean up from previous runs
rmdir /Q /S %CASE%
rmdir /Q /S %EXPORT%
rmdir /Q /S %ENTITIES%
rmdir /Q /S %TAGS%

:: Index the evidence files into a new case
%INTELLA% -user John -case %CASE% -caseName "Google Cloud Entity Extraction Test" -evidence %EVIDENCE% -sourceName "Emails"

:: Export the bodies of all items as text files
%INTELLA% -user John -case %CASE% -exportText -exportDir %EXPORT%

:: Use Google Cloud entity analysis on all text files.
:: The default CSV structure is a two-column setup, with the entity type (e.g. "PEOPLE")
:: in the first column and the entity name (e.g. "John Doe") in the second column.
:: By changing the default separator from ',' to '/' and the default terminator from '\n'
:: to ',' , we put all entities on one line as hierarchical tags.
mkdir %ENTITIES%

for %%f in (Export\*.txt) do (
   echo %%f
   call gcloud ml language analyze-entities --content-file=%%f --flatten=""
      --format="csv[no-heading,separator='/',terminator=','](entities.type,entities.name)"
      >> %ENTITIES%\%%~nf.txt +
)

:: Concatenate all the entities to a file that can be imported as a tag file.
:: Such a file starts with an item ID, followed by a comma, followed by a comma-separated
:: list of tags.
:: gcloud does not escape quotes, so we still need to do that somehow
mkdir %TAGS%

:: The use of set is necessary in order to prevent the first echo from adding a newline
:: The test for files greater than 2 bytes is to skip items that produced no entities.
:: Their content typically equals "/," which would break the CSV structure.
for %%f in (Entities\*.txt) do (
   if %%~zf gtr 2 (
      echo | set /p="%%~nf," >> %TAGS%\tags.csv
      type %%f >> %TAGS%\tags.csv
      echo.>> %TAGS%\tags.csv
   )
)

:: Import the entities as tags into the case
%INTELLA% -user John -case %CASE% -importTags %TAGS%\tags.csv

Full text classification script
The script below can also be found in the Intella installation folder, see scripts\RunClassification.bat.

:: Prepare state
set INTELLA="C:\Program Files\Vound\Intella 2.2\IntellaCmd.exe"

set BASE="C:\Intella GCP Test"

set CASE=%BASE%\Case
set EVIDENCE=%BASE%\Evidence
set EXPORT=%BASE%\Export
set CLASSIFICATIONS=%BASE%\Classifications
set TAGS=%BASE%\Tags

:: Clean up from previous runs
rmdir /Q /S %CASE%
rmdir /Q /S %EXPORT%
rmdir /Q /S %CLASSIFICATIONS%
rmdir /Q /S %TAGS%

:: Index the evidence files into a new case
%INTELLA% -user John -case %CASE% -caseName "Google Cloud Classification Test" -evidence %EVIDENCE% -sourceName "Emails"

:: Export the bodies of all items as text files
%INTELLA% -user John -case %CASE% -exportText -exportDir %EXPORT%

:: Use Google Cloud text classification on all text files.
:: We change the default terminator from '\n' to ',' so that it conveniently
:: puts all classifications on one line.
mkdir %CLASSIFICATIONS%

for %%f in (Export\*.txt) do (
   echo %%f
   call gcloud ml language classify-text --content-file=%%f --flatten="categories[]"
      --format="csv[no-heading,terminator=','](categories.name)" >> %CLASSIFICATIONS%\%%~nf.txt
)

:: Concatenate all the classifications to a file that can be imported as a tag file.
:: Such a file starts with an item ID, followed by a comma, followed by a
:: comma-separated list of tags.
mkdir %TAGS%

:: The use of set is necessary in order to prevent the first echo from adding a
:: newline.
for %%f in (Classifications\*.txt) do (
   echo | set /p="%%~nf," >> %TAGS%\tags.csv
   type %%f >> %TAGS%\tags.csv
   echo.>> %TAGS%\tags.csv
)

:: Import the classifications as tags into the case
%INTELLA% -user John -case %CASE% -importTags %TAGS%\tags.csv

22.4. Example: using relative paths with command line

IntellaCmd.exe does not support relative paths directly. However, it is possible to use relative paths with the help of a batch script. Below is an example of a script that would index a file in the current directory:

setlocal

set INTELLA_PATH=c:\Program Files\Vound\Intella 2.6.0.3
set CASES_FOLDER=c:\cases
set CURRENT_DIR=%cd%
set EVIDENCE=%1

"%INTELLA_PATH%\IntellaCmd.exe" -u user -c "%CASES_FOLDER%\%EVIDENCE%" -e "%CURRENT_DIR%\%EVIDENCE%" -ias

endlocal

The script can be used like this:

> intella-index.bat test.pst

23. Appendices

23.1. Appendix A - setting up SSL keystore using keytool

23.1.1. Preface

Intella Investigator will accept any valid Java Keystore generated with either:

  • Intella Investigator itself (like described in SSL Guide)

  • keytool command line utility bundled with any Java Runtime Environment

  • third party utilities (like Keytool Explorer)

This appendix describes how to create a new keystore using the keytool utility.

23.1.2. Prerequisites

Before you start generation of a keystore, there are few things you need to accomplish first:

  1. Locate the keytool command line utility. This utility is bundled with each Java Runtime Environment installation. Since Intella Investigator bundles its own version of JRE, you can use the keytool which is a part of it. This utility is located in Intella Investigator installation directory, under INTELLA_INSTALLATION_DIR/jre/bin/keytool.exe.

  2. If you are creating a keystore for a new certificate, decide which domain you wish to use. Once certificate is assigned to it, it cannot be changed.

  3. If you are creating a keystore for an existing certificate, make sure that you are in possession of a Private Key which was used to generate it. This guide assumes that you have your Private Key along with matching X509 certificate in a "p12" extension (PKCS#12) keystore format.

23.1.3. Creating a keystore with Private and Public Key pair

These steps depend on whether you already have a working SSL certificate, so please follow the steps most suitable for your situation.

For purposes of this tutorial we will be using an artificial address/domain pair: 1.2.3.4, www.my-site.com

I’m already in possession of a Private Key and X509 certificate issued for my company/domain
  1. Make sure that you have a valid keystore with "p12" extension containing Private and Public Key pair. You should have no problem in obtaining it from the company which signed your certificate.

  2. Import keystore (example: my-keystore.p12) into a new Java keystore: keytool -alias my-site -importkeystore -srckeystore my-keystore.p12 -srcstoretype PKCS12 -destkeystore my-site.com.keystore

  3. At this point you will have a new Java keystore containing your Private and Public Key pair.

  4. The next step depends on whether or not the Public Key in my-keystore.p12 was already signed (contained proper certification chain):

    • If Public Key contained trusted certification chain, then you are all set and you have a valid Java keystore.

    • If Public Key did not contain trusted certification chain, then you still need to import your X509 certificate along with all intermediate certificates given to you by your CA. You can proceed to Adding certificates to the Keystore.

I do not have a SSL certificate or I want to buy a new one
  1. Decide upon the Case URL scheme that you would like to use for case sharing in Intella Investigator. Your options are:

    • A domain (recommended) – domain names are easier to remember and do not change that often. If your domain is already taken, you can easily choose something unique, yet easy to remember, like: www.my-connect-cases.com

    • A public IP address.

  2. Using the keytool utility, create a new keystore in the location of your preference

    keytool -genkey -alias my-site -keyalg RSA -keysize 2048 -keystore my-site.com.keystore

  3. You will be asked to enter some values. Please use your best judgment to fill in the necessary fields. Listed below are the ones that are important for Intella Investigator:

    • Keystore password - use a strong password, we will be using it later in the Settings panel.

    • First and last name (also referred as CN – Common Name) - please provide the address to which the certificate was issued (remember: that was either a public IP or domain).

    • Key password - this password should be different from the keystore password. It offers additional protection over the Private Key. Use an equally strong password.

  4. After this step you should have a new keystore ready with an unsigned certificate.

23.1.4. Requesting certificate signature

This and the following steps apply only if you created new Private and Public Key pair in the previous step.

Since now you are in possession of an unsigned certificate, you need to ask a Certification Authority (CA) to sign it. CAs accept only requests for so called Certificate Signing Request, so you need to create one using the keytool.

On the command line, please enter the following command:

keytool -certreq -keyalg RSA -file my-site.com.csr -keystore my-site.com.keystore

You will be asked for the master password for the keystore, which you have defined in the first step. This should produce a file called my-site.com.csr

23.1.5. Signing your certificate with CA

You now have to supply this signature request to the Certification Authority. This process is specific to the authority signing the certificate. After the CA is done with processing your request, you usually receive a set of files:

  • your new SSL certificate (this is your own Public Key signed by some Certification Authority)

  • set of trusted certificates (usually two or more, those also play a role in the signing process and should be imported to your keystore)

23.1.6. Adding certificates to the Keystore

You now have to add each certificate that you have received from your CA back to the keystore. Most likely you have received three files: the CA’s certificate, an intermediate certificate and the one which applies to your domain (IP). Please use keytool.exe again to add them using the commands below. Please keep in mind, that for this tutorial our CA has supplied us with three files (AddTrustExternalCARoot.crt, PositiveSSLCA2.crt and www_my-site_com.crt) which are stored in the signed subdirectory:

keytool -import -trustcacerts -alias AddTrustExternalCARoot -file signed\AddTrustExternalCARoot.crt -keystore my-site.com.keystore keytool -import -trustcacerts -alias PositiveSSLCA2 -file signed\PositiveSSLCA2.crt -keystore my-site.com.keystore keytool -import -trustcacerts -alias my-site -file signed\www_my-site_com.crt -keystore my-site.com.keystore

Note the usage of 'alias' parameter. Two first commands listed above created new entries in our keystore, while the last one has updated the my-site entry which contained our Private and Public Key pair.

23.1.7. Conclusion

This simple guide shows steps necessary to create a valid Java Keystore using the keytool utility. For more information, please refer to: https://docs.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html

23.2. Appendix B - setting up SSL from an existing certificate

23.2.1. Preface

Very often you might wish to set up HTTPS protocol for an existing certificate that has already been issued to your company and is already used in production. In cases like these it’s handy to import it to a keystore (which is required by Intella Investigator), rather than paying for and maintaining a second certificate.

This step-by-step example shows how to set up a fully functional keystore for an existing GoDaddy™ certificate. It uses a third party application Keystore Explorer which offers a simple an intuitive user interface to do most of the work.

Vound is not associated with neither GoDaddy™ nor developers of Keystore Explorer and we wish not to promote either of them. This guide serves explanatory purposes and should be treated as a learning material only. As for Keystore Explorer, Vound cannot be held accountable for any misuse or damage that might be a result of using it. If you feel uncertain if you should use it, please consult your IT specialists or keep on relying on keytool.

23.2.2. Prerequisites

Before attempting to create a keystore to be used in Intella Investigator one must realize that there are many industry standards governing the process of producing a valid SSL certificate. Therefore it’s common to encounter different types of keystores, keys and certificate formats. Not all of them work interchangeably and explaining all the differences between them is beyond the scope of this article.

It’s also vital to understand that certificates are created based on a pair of keys: public and private. It should be obvious for any engineer generating the SSL certificates what role those keys play in the encryption process and this will not be explained here. If you are reading this document but you don’t have any keys generated yet, it’s best if you follow this guide to quickly get on the right track. If you do, however, own a certificate already then those keys had to be generated beforehand and the remaining of this document will help you to use them properly to import your certificate into a new keystore.

There is only one prerequisite for you to follow at this point, and that is:

You must obtain a copy of your private & public keys pair in PKCS#12 format stored as a single *.p12 file.

If you own a certificate but don’t have keys (and .p12 file), you might still want to read the rest of this document for educational purposes, however, without them you will not successfully generate a keystore. Keep in mind thought that GoDaddy™ offers you to recreate keys if you lost them for the certificate that you bought. That being said, Vound will not assist you in this process as it’s beyond what we could support.

The rest of this document heavily relies on screenshots that ought to be self-explanatory. If they are not, some textual context is also provided.

For the entire process illustrated below we have been using a freeware application called Keystore Explorer, which is available for download here: http://www.keystore-explorer.org

23.2.3. Obtaining your *.p12 file

Create a new empty folder for you to work with. Then create a subfolder called "prerequisites" and place there the *.p12 file which contains your private and public keys which were used to generate the CSR (Certificate Signing Request) and as a result your SSL Certificate.

23.2.4. Downloading your certificate

Go to https://godaddy.com and log in to your account. Then navigate to the page with details of the certificate that you wish to install.

ssl example 1

Then go to the download page and select Tomcat as the type of your server.

GoDaddy Download

Press "Download Zip File" and save the file as "tomcat.zip" into "prerequisites" folder.

Certificate Downloaded

Next unzip the "tomcat.zip". There will be few files there, most of which you don’t need. In our case those were:

  • 6f69fc017c23c853.crt // This is the certificate issued for our domain. You will need only this one to continue, however the name will probably be different in your case.

  • gd_bundle-g2-g1.crt

  • gdig2.crt

Remove unnecessary files (keeping only certificate issued for your domain) and proceed to next step.

23.2.5. Exporting intermediate and root certificates

Right now you should only have two files in your "prerequisites" folder. Double click on your certificate file and that should open standard Windows' tool for analyzing certificates (sometimes referred as Crypto Shell Extension). This is basically a viewer which you can use to examine certificates.

View Certification Chain

Select the top-most certificate (Root) and double click it. That should open another viewer.

View Details Of Root Certificate

Navigate to "Details" tab and press "Copy to file" to start exporting of the certificate. Next you will see a wizard which should guide you through the process of exporting the certificate. Just follow it all the way through using default settings. Save the output in the "prerequisites" folder as "root-cert.cer".

Root Certificate Exported

Repeat the same process for the certificate which was shown in the middle when you examined your own certificate. This one is sometimes called "intermediate certificate" so save it as "intermediate-cert.cer".

Intermediate Certificate Exported

Files listed above are essential for the rest of the process so make sure you did all the steps right until this point.

23.2.6. Creating a new keystore

Launch Keystore Explorer and create a new keystore of JKS format.

Create New Keystore

The next step is critical and it shows why having a pair of keys is essential for the whole process. You must import them first as they are the main entity used during the cryptology process.

To do that select "Tools" from main menu then "Import Key Pair". You should then select the proper format, in our case PKCS#12 as this corresponds to *.p12 file. Then provide the password which governs access to keys in *.p12 file and select the right path. This is illustrated below:

Key Pair Import

Afterwards the UI will ask you for an alias. This is just a simple name to be used inside the Keystore. You can use whatever you want, but for clarity use "your-domain.com" as we did in our example.

Next, you must specify passwords for these keys inside your keystore. Once again use whatever you want but keep track of this password.

You should see a final message saying that this process has been successfully completed.

Next step is to put the intermediate and root certificates into your keystore. Once again go to "Tools" and this time select "Import Trusted Certificate". Start with importing the "root-cert.cer" first. Keystore Explorer will ask you if you trust this certificate and you want to add it. Proceed with default options (keeping the alias the same as it was) until you reach to the end and see another successful message.

Next repeat the last process for "intermediate-cert.cer". Proceed as before until you see another successful message. At this point you should have those three entities in your keystore.

Imported Certificates

Now you can now double click on "your-domain.com" entity. This opens up a detailed view which will show you a proper certification path when we complete all steps. Right now it’s important to note that you can only see one entry in the "Certificate Hierarchy" panel, which is illustrated on the screenshot below.

Verifying Chain Before Import

23.2.7. Import GoDaddy™ certificate to your keystore

At this point we are ready to import the signed certificate from your provider. Close the details view and right click on the "your-domain.com" entity with your mouse. That should open up a contextual menu which has few common options available. Please note the "Import CA reply" option. What this option does is it allows getting an existing certificate signed with GoDaddy™ and using this information to alter the certification chain for an entity selected in your keystore. Use this option and select the main certificate that you downloaded before (in our case that was 6f69fc017c23c853.crt). This should be a quick process finishing with another success message.

Importing CA Reply

Now double click on "your-domain.com" entity again to see if certification hierarchy has changed. You should see all three certificates in chain (root → intermediate → your domain).

Verifying Chain After Import

23.2.8. Save your work and configure Intella Investigator

You should now save your work from the "File" menu in Keystore Explorer. Keystore Explorer will ask you to provide passwords governing the entire keystore. This creates single file (in our case "connect.keystore") which could be used to replace other keystore created in Intella Investigator user interface. This is explained in more details in SSL Guide.