In order to integrate with your application, SecureNative uses the concept of agents. the agent is a lightweight component (a regular dependency package) that is installed into your application and allows you to send us events, capture and inspect your application requests.
You can install the agent using your favorite package manager depending on the language that you use for your web server. The agent is very lightweight and doesn't impact your application’s performance, the events are submitted asynchronously and resilient to network failures.
After we will receive an event from your application we will automatically trigger security flows that are associated with an event.
Typical request flow
There are multiple types of agents that are available:
First you need to install the SecureNative agents:
- Install the SecureNative SDK/Agent on into your application web server
- Configure AppId and API keys for your app
How Agent Works
When you install SecureNative micro-agent on your application. The agent will loads first before and performs dynamic instrumentation of your application.
SecureNative performs dynamic instrumentation of your code in run-time, that includes all requests and user operations looking for attacks and vulnerabilities and blocks the attack.
Predefined and custom Security Flows are triggered, to give an additional level of protection to the business logic of your application.
How request flow works
When a website loads, the js agent collects indicators from your browser device, we use those indicators to uniquely identify every visitor and create a device fingerprint.
In addition to using our SDK, we require you to report to us events (see the documentation for the complete events list). Events are operations that are requested by the user to perform/ already completed such as: login, logout, signup, profile update, etc. We use events to learn more about your user and build a behavior profile:
Events acts as triggers that we use to run security flows, if we detect an anomaly behavior, we would automatically trigger a webhook into your application, this allows you to take action to protect your user.
We also expose a verify endpoint which you may call before every sensitive operation, we analyze the data that we collect and anomaly behavior and will return to you a risk score with security triggers.
Communication with SecureNative
SecureNative agents send requests to SecureNative cloud via a secure HTTPS connection. You are in charge of what data you want to send to us, as more data you send the better we can leverage it and provide better results.
The events that you send are automatically cached locally and SecureNative SDK/ Agent will insure that they are delivered securely in batches to the SecureNative cloud.
The SDK/Agent will try to communicate with
api.securenative.com/collector:443 endpoint, please make sure that your application and environment are allowing outgoing traffic to that endpoint.
What happens if SecureNative has a downtime?
No worries here, your application performance will not be impacted, our SDK will automatically resend us the events ensuring that events will eventually get to our servers. All events are asynchronously delivered and even if we have downtime, your application will not be impacted, once network issues are resolved everything will continue to run normally.