# Browser and device support

> The browsers, operating systems, frameworks and server runtimes Fingerly SDKs support, and how privacy-focused browsers are handled.

Last updated: 2026-09-17

## Browsers

The browser SDK supports every browser that runs ES2020 with `fetch` and `AbortController`.

| Browser | Supported | Tested on |
| --- | --- | --- |
| Chrome and Chromium browsers | Current versions | Chrome 151 |
| Edge | Current versions |  |
| Firefox | Current versions, including strict tracking protection | Firefox 154 |
| Safari on macOS | Current versions | Safari 26.5 |
| Safari on iOS and iPadOS | Current versions | iOS 26 |
| Brave | Current versions | Brave with Shields |
| Tor Browser | Current versions, all security levels | Standard and Safest |

Serve pages over HTTPS. The SDK runs on insecure pages, but several signals are only available in a secure context. `localhost` counts as secure during development.

## Privacy-focused browsers

Browsers that resist fingerprinting are still identified where they allow it, and scored either way. When a browser gives too little to identify anyone, the response has `identifiable: false`, the `fingerprint_suppressed` signal fires, and the request costs less. The SDK never triggers a permission prompt in these browsers either.

## Mobile

| SDK | Minimum |
| --- | --- |
| [iOS](https://docs.fingerly.io/docs/sdks/ios) | iOS 13, tvOS 13, Mac Catalyst 13 |
| [Android](https://docs.fingerly.io/docs/sdks/android) | Android 5.0 (API 21) |
| [React Native](https://docs.fingerly.io/docs/sdks/react-native) | React Native 0.74, iOS 13, Android 5.0 |
| [Flutter](https://docs.fingerly.io/docs/sdks/flutter) | Flutter 3.10, iOS 13, Android 5.0 |
| [Lynx](https://docs.fingerly.io/docs/sdks/lynx) | Lynx 4.1, iOS 13, Android 6.0 |

## Web frameworks

| SDK | Minimum |
| --- | --- |
| [React](https://docs.fingerly.io/docs/sdks/react) | React 19 |
| [Next.js](https://docs.fingerly.io/docs/sdks/nextjs) | Next.js 15, React 19 |
| [Vue](https://docs.fingerly.io/docs/sdks/vue) | Vue 3.3 |
| [Nuxt](https://docs.fingerly.io/docs/sdks/nuxt) | Nuxt 3 |
| [Svelte](https://docs.fingerly.io/docs/sdks/svelte) | Svelte 5 |
| [Angular](https://docs.fingerly.io/docs/sdks/angular) | Angular 19 |

## Server

| SDK | Minimum |
| --- | --- |
| [Node.js](https://docs.fingerly.io/docs/sdks/node) | Node.js 18.16, or any runtime with web `fetch` |
| [Python](https://docs.fingerly.io/docs/sdks/python) | Python 3.9 |
| [Go](https://docs.fingerly.io/docs/sdks/go) | Go 1.21 |
| [Java](https://docs.fingerly.io/docs/sdks/java) | Java 11 |
| [.NET](https://docs.fingerly.io/docs/sdks/dotnet) | .NET 6 |
| [PHP](https://docs.fingerly.io/docs/sdks/php) | PHP 8.1 |
| [Ruby](https://docs.fingerly.io/docs/sdks/ruby) | Ruby 3.1 |
| [Rust](https://docs.fingerly.io/docs/sdks/rust) | Rust 1.75, Tokio |

Any other language can use the [HTTP API](https://docs.fingerly.io/reference/overview) directly.
