European identity infrastructure

Secure every application without giving up control

FoxIDs is an identity platform for teams that need open standards, European hosting, and the freedom to run cloud, self-hosted, or hybrid without forcing a separate product for every use case.

  • Choose FoxIDs Cloud, self-hosted, or hybrid deployment.
  • Integrate OpenID Connect, OAuth 2.0, and SAML 2.0 across modern stacks.
  • Use one platform across customers, employees, partners, APIs, and AI workloads.

Trusted by organisations across Europe,
and the rest of the world

JO Informatik IGEL COOP OneMed Verdo Gentofte Kommune Aveki Septima GOALS ENERGY COOL Applikator Pragmasoft JO Informatik IGEL COOP OneMed Verdo Gentofte Kommune Aveki Septima GOALS ENERGY COOL Applikator Pragmasoft

Why teams choose FoxIDs

Focus on the platform decisions that matter most: control, compliance, cost, and implementation speed.

One platform across providers and applications

Connect identity providers, user populations, applications, and APIs with open standards.

Bring external identity providers, modern applications, and multiple user types together in one platform instead of stitching separate products together.

Identity Providers

OpenID Connect OAuth 2.0 SAML 2.0
  • Enterprise Identity: Microsoft Entra ID, AD FS, Okta, Google Workspace, Ping Identity, Auth0
  • Social & Public: Google, Facebook, LinkedIn, National IdPs
  • Flexible Federation: Connect with Keycloak and other standard-compliant providers

Key Capabilities

  • Bridge between SAML 2.0 and OpenID Connect
  • Environment linking
  • Customisable built-in login UI
  • Advanced Token Exchange features

Relying Applications

OpenID Connect OAuth 2.0 SAML 2.0
  • Web Frameworks: ASP.NET Core, Node.js, Java, PHP
  • Frontend (SPA): React, Angular, Vue, Blazor WASM
  • Mobile Apps: iOS, Android, React Native, .NET MAUI, Ionic
  • Backend Services: .NET services, Java, background scripts
  • APIs: ASP.NET Core, Node.js, Java, Python, Go

Built and hosted in Europe

The European Alternative

FoxIDs takes a different path from US-first identity platforms: more deployment control, lower lock-in, and an EU-first approach to data protection and operations.

Scalability & Pricing

Consumption-based with a low, predictable total cost of ownership (TCO).

Architecture & Deployment

Multi-tenant, open architecture available as SaaS, self-hosted, or hybrid.

Data Privacy & Compliance

EU-first by design, supporting GDPR compliance by default.

Vendor Lock-in

Minimal lock-in through rigorous adherence to open standards.

AI Assistant Prompt

Built for developers

Use the AI Assistant prompt to plan integrations faster and keep implementation grounded in open standards across the platforms your teams already run.

  • Support the languages, frameworks, and platforms your teams already use
  • Use one identity platform across web apps, SPAs, mobile apps, APIs, and backend services
  • Manage tenants and environments, identity flows, access control, and customisable login experiences
  • Give teams a reusable AI Assistant prompt to plan and implement integrations faster
.NET Java Node.js Python Go PHP React Next.js Angular Vue iOS Android
AI Assistant Prompt
Help me add OpenID Connect support with FoxIDs to my application.

Scope restrictions:
- You may use the workspace folder name as context.
- Do not read, search, open, inspect, or infer from anything outside the current workspace folder.
- If this is a new app, do not spend time searching the workspace for an existing implementation. Create or scaffold what is needed inside the current workspace folder and then integrate FoxIDs.
- If this is an existing app, inspect only files inside the current workspace folder.

Before writing any code, ask the required questions in exactly two stages.

Stage 1 questions:
Ask concise questions to determine:
- app type
- language
- framework and version
- hosting model
- whether auth is client-side or server-side or do not know
- whether this is a new app or an existing app

Stage 2 questions:
- Ask these only if it is an existing app.
- Ask concise questions about:
  - the current authentication method
  - where the current authentication settings are configured
  - whether any login/logout UI already exists
  - whether there is already a home page or layout where minimal auth UI changes should be added

Execution rules:
- Do not start code changes until both question stages are complete, or until Stage 1 is complete and it is confirmed to be a new app.
- If it is a new app, proceed directly to implementation after Stage 1. Do not perform exploratory searches whose only purpose is to discover whether files already exist.
- If it is an existing app, inspect only the minimum necessary files before making changes.
- Do not ask unnecessary follow-up questions if the earlier answers are sufficient to implement the integration correctly.

Implementation requirements:
- Add settings for:
  - `Authority`
  - `ClientId`
- If the application is server-based:
  - add `ClientSecret`
  - use a session cookie
  - keep tokens on the server
  - PKCE is optional
- If the application is not server-based:
  - do not use `ClientSecret`
  - use authorization code flow with PKCE
- Set response type to `code`
- Set scopes to include:
  - `openid`
  - `profile`
  - `email`
- If supported, set:
  - Name claim type to `sub`
  - Role claim type to `role`
- Use JWT claims in the app
- Prefer using OpenID Connect Discovery and the downloaded information including keys.
- Prefer validating JWT tokens using OpenID Connect Discovery and downloaded keys and reading the claims from validated JWT token
- Only if OpenID Connect Discovery and JWT token validation is not supported, use:
  - user info endpoint: `Authority` + `/oauth/userinfo`
  - authorize endpoint: `Authority` + `/oauth/authorize`
  - token endpoint: `Authority` + `/oauth/token`
- Implement login and log off
- Add Log in and Log off buttons
- After login, show the claims for debugging and clearly label that the debug claims display must be removed later
- Ensure data is only fetched and shown when the user is logged in
- Ensure protected data is not shown to anonymous users
- If there are APIs, secure them with the app's auth model:
  - for server-based apps, secure APIs with the session cookie unless the architecture specifically requires access tokens
  - for non-server-based apps, secure APIs with an access token
- If there are authenticated API calls or data fetches from the UI, ensure they only execute for authenticated users

Guardrails for an existing app:
- Do not introduce unrelated refactoring
- Do not remove existing features unless strictly required for FoxIDs OIDC integration
- Keep home page or layout changes minimal
- Only add what is needed for:
  - Log in
  - Log off
  - temporary debug claims display
  - gating authenticated data display and protected fetches
  - securing APIs if present

Required output after implementation:
Always provide all of the following:
- The exact redirect domain or redirect URI to configure in FoxIDs
- Exactly where the settings are configured
- If it is an existing app, the list of files changed
- any manual steps still required, ordered exactly as the user should perform them in FoxIDs and in the app
- A brief explanation of how to add and configure the application in FoxIDs as an OpenID Connect web application

Quality bar:
- Prefer the framework-native authentication approach for the detected app type
- Keep the implementation minimal and production-sensible
- Do not add placeholder code if a real integration can be implemented
- If something cannot be completed with the available workspace or tooling, state exactly what is blocked and provide the smallest viable next step

European identity infrastructure

Start with the deployment model that fits your organisation

Start on FoxIDs Cloud or plan a self-hosted rollout with the same platform, open standards, and European trust profile.

Your Privacy

Your Privacy

We use cookies to make your experience of our websites better. Click the 'Accept all cookies' button to agree to the use of cookies. To opt out of non-essential cookies, click 'Necessary cookies only'.

Visit our Privacy Policy page for more