Technical Details

Database engine and data storage

M-Files Server includes Firebird Embedded, a powerful SQL database engine. Firebird is the default database engine of M-Files. Purchasing additional database software is thus not required. When using Firebird as the database engine of M-Files, the metadata of documents and other objects will be stored in a SQL database. The data files of objects are stored in the file system.

Optionally, you can use Microsoft SQL Server as the database engine for better performance and support for larger repositories. Refer to our lifecycle policy for information about the supported versions.

When using Microsoft SQL Server as the database engine of M-Files, the metadata of documents and other objects will be stored in a SQL database. The data files of objects can be stored either in the MS SQL database or in the file system. Microsoft SQL Server can be installed on the M-Files Server computer, or alternatively, the M-Files Server computer can connect to an existing SQL Server farm. In the latter case, the processor and RAM requirements of the M-Files Server may be smaller than indicated above.

If your organization wants to use a self-managed cloud environment with a SQL database, you can use the managed instance deployment option of the Microsoft Azure SQL Database. A managed instance of the Microsoft Azure SQL Database is a fully managed SQL Server Database Engine instance hosted in Azure cloud.

It is strongly recommended that the data saved in the file system is encrypted. The file data encryption at rest feature uses the AES-256 algorithm. The encryption is compliant with the Federal Information Processing Standard (FIPS) publication 140-2. For more information, refer to Protecting File Data at Rest with Encryption in M-Files.

M-Files uses Unicode and thus supports storing and finding data in East Asian languages as well.

Network communication

M-Files Desktop uses the TCP/IP, HTTPS, or gRPC protocol to communicate with M-Files Server. The classic M-Files Web uses HTTP or HTTPS, the new M-Files Web uses gRPC, and M-Files Mobile uses HTTP, HTTPS, or gRPC for server communication.

Use encrypted connections in all client-to-server communication. For more information, refer to Protecting Data in Transit with Encryption in M-Files.

Special environments

M-Files can be used with virtualization and remote desktop technologies. M-Files has been proven to be compatible with these environments:

  • Remote Desktop Services (Terminal Services)
  • Citrix XenApp
  • Linux file servers
  • Novell networks
Note: M-Files is not responsible for the configuration of virtualization and remote desktop technologies, or application errors caused by their use. If a known issue cannot be resolved in a virtual or remote desktop environment, you must set up a non-virtual environment for more assistance.

User authentication

M-Files supports multiple authentication methods (can be mixed):

Windows authentication Users are authenticated using their Windows account names and passwords. Login accounts can be imported from Active Directory (LDAP).
Federated authentication Users are authenticated against an external Identity Provider (IdP), such as Azure Active Directory. See Using Federated Authentication with M-Files for more information.
M-Files authentication Users are authenticated with usernames and passwords specified within M-Files.

M-Files supports using pre-shared keys for an additional level of security. For more information, see Accessing M-Files Vaults without VPN.

Database connections

M-Files Server can be integrated with existing databases, such as CRM and ERP databases. All databases with an OLE DB or ODBC driver are supported (includes SQL Server, Access, Oracle, and MySQL).

Integrations with third-party applications

Numerous third-party applications can be integrated to M-Files. See www.m-files.com/integrations and https://catalog.m-files.com for examples.

Application programming interface (API)

M-Files includes an ActiveX/COM API. Supported languages include VB.NET, C#, Visual Basic, VBScript, and C++. Additionally, M-Files includes the M-Files Web Service API that allows programmatic access to M-Files through a REST-like interface (refer to M-Files Web Service).

M-Files API is included within the installation of the M-Files software. The API documentation is available as an online version ( M-Files API) and as a Microsoft HTML Help file, which you can download at https://www.m-files.com/api.

M-Files UI Extensibility Framework allows external add-ins (M-Files Applications) to be used for personalizing the behavior of M-Files Desktop. With these applications, the M-Files experience can be modified to better match specific business areas and needs. For more information, refer to the M-Files UI Extensibility Framework documentation.