Fingerprint Pro (Plaid Link's configuration) alongside the SEON JavaScript agent — measuring what each SDK costs alone and what it costs when both run on the same page.
file://. From the folder containing this file run
python3 -m http.server 8080 and open http://localhost:8080/sdk-timing-report.html.
Δ vs solo in the table below is the extra time each SDK took in that run compared with its own solo baseline — that is the cost of the two agents competing for the main thread, workers and network.
| # | Scenario | Wall | FP total | FP start / get | Δ FP | SEON | Δ SEON | Timeline | Result |
|---|
flink.jsfunction buildFingerprintConfig(apiKey, worker) {
var i = {
apiKey: apiKey, // production: "ENBtQILE9DAzCqo0tmlt"
region: "us",
endpoints: FP_CUSTOM_SUBDOMAIN, // "https://f.plaid.com"
worker: worker, // dedicated Worker instance
aggressiveOptimization: true, // undocumented Pro flag
extendedSignalCollection: true,
modules: [ makeValidationModule() ]
};
i.endpoints = [
new URL("/e265wpihyb/", window.location.origin).toString(), // first-party proxy path
FP_CUSTOM_SUBDOMAIN // fallback
];
return i;
}
// later: agent = start(buildFingerprintConfig(key, worker)); await agent.get({ linkedId });
The worker and modules options need Plaid's own bundle, so this harness omits them;
everything else is reproducible. Plaid's first-party endpoint /e265wpihyb/ only exists on
Plaid's origin — the preset therefore keeps just https://f.plaid.com, and requests may be
rejected if their key is origin-restricted. Use your own key for real numbers.