ReferenceSDKs & Libraries

SDKs & Libraries

Official SilentAuth SDKs are maintained by the SilentAuth team and receive the same updates as the API. All SDKs are open source and available on GitHub.

Official SDKs

JavaScript / TypeScript
@silentauth/sdk
npm install @silentauth/sdk
Intent creation & pollingPermit validation (online + offline)Webhook verificationReact hooks
Python
silentauth
pip install silentauth
Async (asyncio) supportDjango & FastAPI middlewarePermit validationWebhook helpers
Go
silentauth-go
go get github.com/silentauth/silentauth-go
Context-aware API clientOffline permit verificationHTTP middlewareStruct-tagged config
PHP
silentauth-php
composer require silentauth/silentauth-php
PHP 8.1+Laravel service providerSymfony bundlePermit JWT validation

Community Libraries

These libraries are maintained by the community. Open source contributions welcome.

Rubysilentauth-rubygem install silentauth
Javasilentauth-javaimplementation 'io.silentauth:sdk:1.0.0'
.NETsilentauth-dotnetdotnet add package SilentAuth.SDK

VINAC-FM Client SDK

v0.9 Beta

The VINAC-FM SDK is built into the SilentAuth platform. Import directly from lib/vinac-fm in your project, or use the standalone package once it publishes to npm.

TypeScript
@silentauth/vinac-fm
Bundled with platform — npm release pending v1.0
npm install @silentauth/vinac-fm
requestChallenge()submitProof()resolveToken()fetchVocabulary()getDeviceFingerprint()simulateAcousticCapture()
import {
  requestChallenge,
  submitProof,
  resolveToken,
  fetchVocabulary,
} from '@silentauth/vinac-fm';

// 1. Request an acoustic challenge
const challenge = await requestChallenge(projectId, publicKey);
// → { vinac_session_id, challenge_nonce, frequency_hz, duration_ms, expires_at }

// 2. After device captures the nonce, submit proof
const result = await submitProof(
  challenge.vinac_session_id,
  capturedNonce,
  publicKey,
);
// → { verified: true, certificate: { token, key_id, expires_at, acoustic_match } }

// 3. Resolve a CSIV token against the logic library
const resolved = await resolveToken(result.certificate.token, 'CSIV_EXEC_001', publicKey);
// → { resolved: true, action: { label, namespace, risk_tier, execution_policy } }

// 4. Browse the CSIV vocabulary
const vocab = await fetchVocabulary('1.0.0');
// → { version: '1.0.0', entries: [ { token_id, frequency_hz, duration_ms, ... } ] }

Building Your Own?

Any HTTP client can work with the SilentAuth REST API. See the API Reference for the full spec. We'd love to feature your library — open a PR on the SilentAuth GitHub org.