The full set, on your machines
Not a sample, not fetched on demand. Currently 22.16 million risk profiles,
about 3.76 GB, landing whole in your storage and updated incrementally after that.
No lookup record exists on our side
GET /pulse/v1/ip/{ip} hits your own instance. We never receive the request, so there is
no record of which addresses you checked, when, or how often.
It can run fully air-gapped
Import over offline media: tide-adm mirror-sync -import. The package is bound to your
licence and is only written to the database once the whole package verifies; if it fails midway,
rerun with the same package. Your machines never need outbound access.
Same interface as the public Pulse
The response fields match the public ip99.com/pulse/v1/ip/{ip} (score, advice, evidence,
scoring moment); a local instance additionally exposes the full evidence fields and the resource-pool
handle. If you already call the public Pulse, change the hostname and you are done. If you call the
older /v1/ip profile endpoint, the response shape differs — integrate once against the
reference shipped with the package. There is also
/pulse/v1/replay/{ip}, which scores against a timestamp you supply, for asking
“would this have been blocked if we had been running it then?”
Three things we would rather state up front
1. Even when you sync over the internet, we still cannot see what you looked up.
The only outbound connection is you pulling the intelligence package, and that package is the full set,
identical for every customer, carrying nothing about which addresses you care about. Choose offline
media and even that connection disappears.
2. Intelligence expires, and it does so silently.
Scores decay with the distance between the evidence and the scoring moment. Measured on the same batch
of 192 addresses, four days after the mirror stopped updating they went from all scoring ≥50 to
all scoring 0 — the service was entirely healthy and kept answering, only the
detection rate had gone to zero. So healthz reports how old the newest evidence is, and
the console states it at the top. Alert on that field, not on whether the process is alive.
3. Delivery carries anonymous cluster handles only.
You get the full risk profiles, but a resource pool's identity is delivered only as an anonymous
handle: you learn that these addresses belong to one pool, not what that pool is called.
Handles are derived from your key and cannot be joined across customers.