Skip to main content

SDKs Overview

Choose the SDK that matches where your code runs. The SDKs do not all expose the same capabilities.

Available SDKs

SDKMaturityAuthentication and token validationSystem API
.NETStableClient Credentials, token caching, JWT validation, introspectionTyped clients for all 21 user, role, and permission operations
ReactStableBrowser Authorization Code with PKCE, session management, protected UINo. Never put a System API client secret in a browser
Node.jsBetaClient Credentials, Express middleware, JWT validation, introspectionGeneric authenticated HTTP helpers
React NativeBetaNative browser Authorization Code with PKCE, secure token storage, optional passkey adapterNo. Never embed a System API client secret in a mobile application
PythonBetaClient Credentials, JWT validation, introspection, FastAPI and Flask helpersGeneric authenticated HTTP helpers; no typed System API client

Maturity describes API stability. It does not describe a Guardhouse Cloud support plan or SLA.

Choose By Use Case

You are buildingRecommended SDK
ASP.NET Core API or .NET worker.NET
React single-page applicationReact
Express API or Node.js workerNode.js
iOS or Android app with React NativeReact Native
FastAPI, Flask, or a Python workerPython
User, role, or permission automation.NET typed clients, or raw HTTP from a trusted backend using the System API

Capability Boundaries

  • Interactive user login belongs in the React or React Native SDK. Backend SDKs use Client Credentials or validate incoming bearer tokens.
  • Only the .NET SDK currently provides typed clients for the complete System API.
  • Node.js and Python can call the System API through their generic authenticated HTTP methods, but callers must use the documented /api/v1 routes and payloads.
  • Client secrets are for trusted server-side applications. Do not ship them in React, React Native, browser, desktop, or other public-client code.
  • Dashboard administration of clients, resources, branding, and tenant settings is not part of the external System API.

JavaScript Core Package

The JavaScript packages share @guardhouse/core. Application code should normally install the platform package rather than use the core package directly.

Repositories