SDKs Overview
Choose the SDK that matches where your code runs. The SDKs do not all expose the same capabilities.
Available SDKs
| SDK | Maturity | Authentication and token validation | System API |
|---|---|---|---|
| .NET | Stable | Client Credentials, token caching, JWT validation, introspection | Typed clients for all 21 user, role, and permission operations |
| React | Stable | Browser Authorization Code with PKCE, session management, protected UI | No. Never put a System API client secret in a browser |
| Node.js | Beta | Client Credentials, Express middleware, JWT validation, introspection | Generic authenticated HTTP helpers |
| React Native | Beta | Native browser Authorization Code with PKCE, secure token storage, optional passkey adapter | No. Never embed a System API client secret in a mobile application |
| Python | Beta | Client Credentials, JWT validation, introspection, FastAPI and Flask helpers | Generic 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 building | Recommended SDK |
|---|---|
| ASP.NET Core API or .NET worker | .NET |
| React single-page application | React |
| Express API or Node.js worker | Node.js |
| iOS or Android app with React Native | React Native |
| FastAPI, Flask, or a Python worker | Python |
| 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/v1routes 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
- .NET SDK
- JavaScript SDKs (React, React Native, Node.js)
- Python SDK