Node.js agent compatibility

The Node.js agent is compatible with the the most popular web frameworks, operating systems and web servers. Below you can find more details about specific version compatibility.

Operating systems

The Sqreen Node.js agent is supported on all operating systems, including Linux, Mac OS X, and Windows.

Node.js versions

The Sqreen Node.js agent is fully compatible and tested from Node.JS 4.0.


If you are using async/await syntax, you will need to set up the environment variable SQREEN_BETA_ASYNC_HOOKS=1 or from within the Node.js process:

process.env.SQREEN_BETA_ASYNC_HOOKS = '1'

This will enable instrumentation using Async Hooks.

Web frameworks

Sqreen supports most Node.js frameworks.

However, to fully take advantage of Sqreen's ability to detect attackers early, you must use at least Express 4+ or hapi 13-16.

If you aren't using Express 4+ or hapi 13 - 16, Sqreen won't be able, in all cases, to detect attackers early. Every other feature of Sqreen should work as normal.

Other frameworks?

Please, contact us if you are using a different framework. We will adjust our roadmap!

Function as a Service (FaaS)

FaaS platforms such as AWS Lambda, Google Cloud Functions or Microsoft Azure Functions are not supported.

Automatic User Context in Node.js

Sqreen automatically detects and protects user accounts when your application is based on passport-local and passport-http frameworks. More information in section Node.js SDK for user monitoring.

Database compatibility (NoSQL/SQL injection protection)

Sqreen protects against SQL and NoSQL injections for the most common production databases:

  • MySQL
  • MariaDB
  • PostgreSQL
  • SQLite
  • Oracle
  • MongoDB

Other database?

Please, contact us if you are using a different database. We will adjust our roadmap!

Templating engine compatibility (cross-site scripting protection)

The protection against cross-site scripting attacks (XSS) is available for the Jade templating engine.

Other templating engine?

Please, contact us if you are using a different templating engine. We will adjust our roadmap!

Compatibility with other modules

Some Node.js modules have interactions with Sqreen that need to be mitigated. If you find an issue with a package not listed here, please contact us.

Package Impact Remediation
newrelic If Sqreen agent is required after New Relic agent, some instrumentation features of Sqreen are unavailable. require Sqreen agent first: require('sqreen'); require('newrelic');
opbeat Sqreen needs to be required after opbeat module. Otherwise, Opbeat will not initialize. require Opbeat agent first: require('opbeat').start(...); require('sqreen');

Meteor support

Support for Meteor is planned but not available yet.