IP Intelligence Middleware for the FP-Devicer Intelligence Suite.
Instantly enrich every deviceId with production-grade IP signals: MaxMind
geolocation (country, city, subdivision, ASN), proxy/VPN/Tor/hosting detection,
AI-agent detection, reputation scoring, impossible-travel alerts, and historical
consistency matching — all 100% self-hosted and invisible to clients.
Part of the FP-Devicer family — invisible to clients and extremely hard to spoof.
ip-devicer is designed to integrate seamlessly with FP-Devicer by use of the
registerWith helper.
import { createInMemoryAdapter, DeviceManager } from "devicer.js";
import { IpManager } from "ip-devicer";
const deviceManager = new DeviceManager(createInMemoryAdapter());
const ipManager = new IpManager({
licenseKey: process.env.DEVICER_LICENSE_KEY,
maxmindPath: "./data/GeoLite2-City.mmdb",
asnPath: "./data/GeoLite2-ASN.mmdb",
enableReputation: true,
});
// One-line registration — everything else is automatic
ipManager.registerWith(deviceManager);
app.post("/identify", async (req, res) => {
const result = await deviceManager.identify(req.body.fpPayload, {
ip: req.ip,
userId: req.user?.id,
headers: req.headers,
});
console.log("IP Enrichment Result:", {
deviceId: result.deviceId,
confidence: result.confidence,
ipRiskDelta: result.ipRiskDelta,
enrichment: result.ipEnrichment,
});
res.json(result);
});
If request headers include CF-Connecting-IP, True-Client-IP, or X-Real-IP,
ip-devicer will prefer those values over a proxy-populated ip field. If
those headers are absent, it falls back to the explicit ip value and then the
first X-Forwarded-For address.
Known AI-agent traffic from the conservative default catalog is attached to
ipEnrichment.agentInfo and included in the IpManager logging metadata.
To get full usage out of this library, you will need to follow these instructions:
This project uses typedoc and autodeploys via GitHub Pages. You can view the generated documentation here.
You can install ip-devicer and tls-devicer alongside FP-Devicer with
npm install devicer.js ip-devicer tls-devicer
You can also install the meta-package for the entire Devicer Intelligence Suite with
npm install @gatewaycorporate/devicer-intel
Published under the Business Source License 1.1 (BSL-1.1)
Pass the key in the constructor to remove restrictions
ip-devicer uses polar.js for key verification. You can obtain a key for dual use of this library and tls-devicer by purchasing one here