open-index/open-npm huggingface dataset:
npm package: @qnsp/access-control-sdk
Description: TypeScript SDK client for the QNSP access-control-service API. Provides policy management and capability token operations.
Latest version: 0.3.4

# @qnsp/access-control-sdk

TypeScript SDK client for the QNSP access-control-service API. Provides policy management and capability token operations.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/access-control-sdk
```

## Quick Start

```typescript
import { AccessControlClient } from "@qnsp/access-control-sdk";

const acl = new AccessControlClient({
  baseUrl: "https://api.qnsp.cuilabs.io",
  apiKey: "YOUR_API_KEY",
});

const policy = await acl.createPolicy({
  tenantId: "your-tenant-id",
  name: "vault-read",
  statement: {
    effect: "allow",
    actions: ["vault:read"],
    resources: ["secret:*"],
  },
});

const capability = await acl.issueCapability({
  tenantId: "your-tenant-id",
  policyId: policy.id,
  subject: { type: "user", id: "user-id" },
  issuedBy: "admin",
});
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/access-control-sdk)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/ai-sdk
Description: TypeScript SDK client for the QNSP AI orchestration service. Provides secure AI workload management, enclave inference, and encrypted training.
Latest version: 0.1.6

# @qnsp/ai-sdk

TypeScript SDK client for the QNSP AI orchestration service. Provides secure AI workload management, enclave inference, and encrypted training.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/ai-sdk
```

## Quick Start

```typescript
import { AiOrchestratorClient } from "@qnsp/ai-sdk";

const ai = new AiOrchestratorClient({
  baseUrl: "https://api.qnsp.cuilabs.io",
  apiKey: "YOUR_API_KEY",
});

const result = await ai.runInference({
  model: "my-model",
  input: { prompt: "Summarize the quarterly report" },
});
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/ai-sdk)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/audit-sdk
Description: TypeScript SDK client for the QNSP audit-service API. Provides audit log querying and compliance reporting.
Latest version: 0.3.4

# @qnsp/audit-sdk

TypeScript SDK client for the QNSP audit-service API. Provides audit log querying and compliance reporting.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/audit-sdk
```

## Quick Start

```typescript
import { AuditClient } from "@qnsp/audit-sdk";

const audit = new AuditClient({
  baseUrl: "https://api.qnsp.cuilabs.io",
  apiKey: "YOUR_API_KEY",
});

const logs = await audit.listEvents({
  tenantId: "your-tenant-id",
  topic: "secret.read",
  since: "2025-01-01T00:00:00Z",
  limit: 50,
});
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/audit-sdk)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/auth-sdk
Description: TypeScript SDK for QNSP post-quantum authentication: PQC-signed JWTs, WebAuthn passkeys, MFA, and OIDC federation. Zero-config — defaults to cloud.qnsp.cuilabs.io. Free API key required.
Latest version: 0.3.4

# @qnsp/auth-sdk

TypeScript SDK client for the QNSP auth-service API. Provides authentication, token management, WebAuthn, MFA, and federation.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/auth-sdk
```

## Quick Start

```typescript
import { AuthClient } from "@qnsp/auth-sdk";

const auth = new AuthClient({
  baseUrl: "https://api.qnsp.cuilabs.io",
  apiKey: "YOUR_API_KEY",
});

const tokens = await auth.login({
  email: "user@example.com",
  password: "••••••••",
  tenantId: "your-tenant-id",
});

const refreshed = await auth.refreshToken({ refreshToken: tokens.refreshToken!.token });
```

## OAuth / Social Sign-In

QNSP supports one-click sign-up and sign-in via GitHub and Google. OAuth is handled by the QNSP Cloud Portal BFF — no SDK code required for the OAuth flow itself.

**Sign up or sign in at:** [cloud.qnsp.cuilabs.io/auth](https://cloud.qnsp.cuilabs.io/auth)

Supported providers:
- **GitHub** — authorizes via `github.com/login/oauth/authorize`, scopes: `user:email read:user`
- **Google** — authorizes via `accounts.google.com/o/oauth2/v2/auth`, scopes: `openid email profile`

After OAuth sign-in completes, QNSP issues a PQC-signed JWT (ML-DSA) and a refresh token — identical to password-based sessions. Use the `AuthClient` for all subsequent token operations (refresh, revoke, introspect).

```typescript
const refreshed = await auth.refreshToken({ refreshToken: storedRefreshToken });
```

For WebAuthn passkey authentication:

```typescript
const challenge = await auth.startPasskeyAuthentication({ tenantId: "your-tenant-id" });
const assertion = await navigator.credentials.get({ publicKey: challenge.publicKeyOptions });
const session = await auth.completePasskeyAuthentication({ tenantId: "your-tenant-id", assertion });
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/auth-sdk)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/billing-sdk
Description: TypeScript SDK client for the QNSP billing-service API. Provides usage meter ingestion and invoice management.
Latest version: 0.2.4

# @qnsp/billing-sdk

TypeScript SDK client for the QNSP billing-service API. Provides usage meter ingestion and invoice management.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/billing-sdk
```

## Quick Start

```typescript
import { BillingClient } from "@qnsp/billing-sdk";

const billing = new BillingClient({
  baseUrl: "https://api.qnsp.cuilabs.io",
  apiKey: "YOUR_API_KEY",
});

await billing.ingestMeters({
  meters: [{ tenantId: "your-tenant-id", source: "api", meterType: "api-calls", quantity: 150, unit: "count", recordedAt: new Date().toISOString(), security: { controlPlaneTokenSha256: null, pqcSignatures: [], hardwareProvider: null, attestationStatus: null, attestationProof: null } }],
});

const invoices = await billing.listInvoices("your-tenant-id");
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/billing-sdk)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/browser-sdk
Description: Browser-compatible PQC encryption SDK for QNSP. Client-side encryption, signing, and key encapsulation using NIST FIPS 203/204/205 standards via @noble/post-quantum.
Latest version: 0.1.2

# @qnsp/browser-sdk

Browser-compatible PQC encryption SDK for QNSP. Client-side encryption, signing, and key encapsulation using NIST FIPS 203/204/205 standards via @noble/post-quantum.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/browser-sdk
```

## Quick Start

```typescript
import { initializePqcProvider, encryptBeforeUpload, generateEncryptionKeyPair } from "@qnsp/browser-sdk";

await initializePqcProvider({ apiKey: "YOUR_API_KEY" });

const { publicKey, privateKey } = await generateEncryptionKeyPair("kyber-768");
const envelope = await encryptBeforeUpload(plaintext, publicKey, "kyber-768");
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/browser-sdk)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- A modern browser with WebCrypto support
- Node.js >= 24.12.0 when bundling or running in Node (`engines` in `package.json`)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/crypto-inventory-sdk
Description: TypeScript SDK client for the QNSP crypto-inventory-service API. Provides cryptographic asset discovery and inventory management.
Latest version: 0.3.4

# @qnsp/crypto-inventory-sdk

TypeScript SDK client for the QNSP crypto-inventory-service API. Provides cryptographic asset discovery and inventory management.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/crypto-inventory-sdk
```

## Quick Start

```typescript
import { CryptoInventoryClient } from "@qnsp/crypto-inventory-sdk";

const inventory = new CryptoInventoryClient({
  baseUrl: "https://api.qnsp.cuilabs.io",
  apiKey: "YOUR_API_KEY",
});

const assets = await inventory.listAssets({ tenantId: "your-tenant-id", limit: 50 });
const stats = await inventory.getAssetStats("your-tenant-id");
const migration = await inventory.getPqcMigrationStatus("your-tenant-id");
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/crypto-inventory-sdk)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/cryptography
Description: Post-quantum cryptography (PQC) primitives for Node.js: ML-KEM, ML-DSA, SLH-DSA, FN-DSA, HQC — all 90 NIST PQC algorithms via liboqs. Free tier at cloud.qnsp.cuilabs.io.
Latest version: 0.1.0
Deprecated: Internal QNSP infrastructure package — not intended for external use. Install only the service-specific SDKs you need (e.g. @qnsp/vault-sdk, @qnsp/auth-sdk).

# @qnsp/cryptography

Abstractions and helpers for post-quantum cryptography within the Quantum-Native Security Platform (QNSP). The package defines provider interfaces for key encapsulation, signatures, and hashing while enabling pluggable integrations with HSMs or PQC libraries.

## Usage

```ts
import { registerPqcProvider } from "@qnsp/cryptography";
import { initializeExternalPqcProvider } from "@qnsp/cryptography/providers";

const provider = await initializeExternalPqcProvider("qnsp-hsm-provider", {
  algorithms: ["kyber-768", "dilithium-3"],
  configuration: {
    endpoint: process.env.HSM_ENDPOINT
  }
});

registerPqcProvider(provider.name, provider);

const { keyPair } = await provider.generateKeyPair({ algorithm: "kyber-768" });
const signature = await provider.sign({
  algorithm: "dilithium-3",
  data: new TextEncoder().encode("hello"),
  privateKey: keyPair.privateKey
});
```

### liboqs provider

The package ships with an adapter for [`@open-quantum-safe/liboqs`](https://github.com/open-quantum-safe/liboqs). Importing `@qnsp/cryptography/providers/liboqs` automatically registers the factory under the name `liboqs`. When the optional dependency is installed, you can bootstrap it as follows:

```ts
import { initializeExternalPqcProvider } from "@qnsp/cryptography/providers";

const liboqs = await initializeExternalPqcProvider("liboqs", {
  // Optional: restrict to specific algorithms
  algorithms: ["kyber-768", "dilithium-3"],
  configuration: {
    moduleId: "@open-quantum-safe/liboqs" // defaults to this value
  }
});
```

The adapter dynamically loads the module, discovers the enabled Kyber and Dilithium variants, and exposes a fully functional `PqcProvider`. Seeded key generation is not supported because liboqs does not expose deterministic primitives for these algorithms.

## Scripts

```bash
pnpm build     # Compile TypeScript to dist/
pnpm lint      # Run Biome checks
pnpm test      # Execute Vitest test suites
pnpm typecheck # Run TypeScript without emitting output
```

© 2025 QNSP - CUI LABS, Singapore
npm package: @qnsp/events
Description: Event envelope schemas and cloud-native messaging contracts for the QNSP post-quantum security platform. Get a free API key at cloud.qnsp.cuilabs.io.
Latest version: 0.1.0
Deprecated: Internal QNSP infrastructure package — not intended for external use. Install only the service-specific SDKs you need (e.g. @qnsp/vault-sdk, @qnsp/auth-sdk).

# @qnsp/events

Canonical event contracts and envelope schemas for messaging inside the Quantum-Native Security Platform (QNSP).

## Usage

```ts
import { eventEnvelopeSchema, createEventEnvelope } from "@qnsp/events";

const envelope = createEventEnvelope({
  topic: "auth.user.created",
  payload: { userId: "123" },
  metadata: {
    correlationId: "abc-123",
    causationId: "root"
  }
});

const parsed = eventEnvelopeSchema.parse(envelope);
```

The package enforces shape, metadata, and versioning semantics for platform-wide events.

## Scripts

```bash
pnpm build     # Compile TypeScript to dist/
pnpm lint      # Run Biome checks
pnpm test      # Execute Vitest test suites
pnpm typecheck # Run TypeScript without emitting output
```

© 2025 QNSP - CUI LABS, Singapore
npm package: @qnsp/kms-client
Description: KMS client for QNSP key management service. Post-quantum key generation, rotation, and cryptographic operations.
Latest version: 0.2.4

# @qnsp/kms-client

KMS client for QNSP key management service. Post-quantum key generation, rotation, and cryptographic operations.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/kms-client
```

## Quick Start

```typescript
import { HttpKmsServiceClient } from "@qnsp/kms-client";

const kms = new HttpKmsServiceClient(
  "https://api.qnsp.cuilabs.io",
  "YOUR_API_KEY",
);

const wrapped = await kms.wrapKey({
  tenantId: "your-tenant-id",
  dataKey: btoa("my-data-encryption-key"),
  keyId: "your-kms-key-id",
});

const unwrapped = await kms.unwrapKey({
  tenantId: "your-tenant-id",
  wrappedKey: wrapped.wrappedKey,
  keyId: wrapped.keyId,
});
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/kms-client)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/sdk-activation
Description: SDK activation and usage metering for QNSP platform SDKs. Ensures all SDK usage is tied to a registered QNSP account.
Latest version: 0.1.3

# @qnsp/sdk-activation

SDK activation and usage metering for QNSP platform SDKs. Ensures all SDK usage is tied to a registered QNSP account.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

> **Note:** This is an internal package used by other `@qnsp/*` SDKs. You typically do not need to install or use it directly.

## Installation

```bash
pnpm add @qnsp/sdk-activation
```

## Quick Start

```typescript
import { activateSdk } from "@qnsp/sdk-activation";

// Called internally by QNSP SDKs during initialization
await activateSdk({
  apiKey: "YOUR_API_KEY",
  sdkId: "vault-sdk",
  sdkVersion: "0.3.0",
  platformUrl: "https://api.qnsp.cuilabs.io",
});
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/sdk-activation)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/search-sdk
Description: TypeScript SDK for QNSP search-service (indexing, querying, SSE token helpers).
Latest version: 0.2.5

# @qnsp/search-sdk

TypeScript SDK for QNSP search-service (indexing, querying, SSE token helpers).

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/search-sdk
```

## Quick Start

```typescript
import { SearchClient } from "@qnsp/search-sdk";

const search = new SearchClient({
  baseUrl: "https://api.qnsp.cuilabs.io",
  apiKey: "YOUR_API_KEY",
});

await search.indexDocuments("my-index", [
  { id: "doc-1", content: "quantum-safe storage overview" },
]);

const results = await search.query("my-index", { text: "post-quantum encryption" });
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/search-sdk)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/shared-kernel
Description: Domain primitives, error types, and cross-cutting utilities for the QNSP post-quantum security platform. Includes PostgreSQL helpers, JWT utilities, and typed error hierarchies.
Latest version: 0.1.0
Deprecated: Internal QNSP infrastructure package — not intended for external use. Install only the service-specific SDKs you need (e.g. @qnsp/vault-sdk, @qnsp/auth-sdk).

# @qnsp/shared-kernel

Shared domain primitives, schemas, and utilities used across the Quantum-Native Security Platform (QNSP).

## Exports

- `createAuthSubject`, `createAccessToken`, `createJwtAccessToken`, `accessTokenSchema` — helpers for JWT token claims and subject modelling.
- `signJwt`, `verifyJwt`, `createJwtVerifier` — PQC-JWT signing and verification functions using Dilithium or other PQC signature algorithms.
- `CLASSIFICATION_LEVELS`, `TOKEN_AUDIENCES`, `DEFAULT_TOKEN_TTL_SECONDS` — shared constants.
- `ApplicationError`, `DomainError`, `UnauthorizedError`, `ForbiddenError` — standardized error hierarchy.
- `createHealthStatus`, `healthStatusSchema` — helper for constructing standardized health responses.

## Scripts

```bash
pnpm build     # Compile TypeScript to dist/
pnpm lint      # Run Biome checks
pnpm test      # Execute Vitest test suites
pnpm typecheck # Run TypeScript without emitting output
```

© 2025 QNSP - CUI LABS, Singapore
npm package: @qnsp/storage-sdk
Description: TypeScript SDK client for the QNSP storage-service API.
Latest version: 0.3.4

# @qnsp/storage-sdk

TypeScript SDK client for the QNSP storage-service API.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/storage-sdk
```

## Quick Start

```typescript
import { StorageClient } from "@qnsp/storage-sdk";

const storage = new StorageClient({
  baseUrl: "https://api.qnsp.cuilabs.io",
  apiKey: "YOUR_API_KEY",
  tenantId: "your-tenant-id",
});

const upload = await storage.initiateUpload({
  name: "report.pdf",
  mimeType: "application/pdf",
  sizeBytes: data.byteLength,
});

await storage.uploadPart(upload.uploadId, 1, data);
await storage.completeUpload(upload.uploadId);
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/storage-sdk)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/tenant-sdk
Description: TypeScript SDK client for the QNSP tenant-service API. Provides tenant lifecycle and subscription management.
Latest version: 0.3.4

# @qnsp/tenant-sdk

TypeScript SDK client for the QNSP tenant-service API. Provides tenant lifecycle and subscription management.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/tenant-sdk
```

## Quick Start

```typescript
import { TenantClient } from "@qnsp/tenant-sdk";

const tenants = new TenantClient({
  baseUrl: "https://api.qnsp.cuilabs.io",
  apiKey: "YOUR_API_KEY",
});

const tenant = await tenants.getTenant("your-tenant-id");
const list = await tenants.listTenants({ limit: 20 });
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/tenant-sdk)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)
npm package: @qnsp/vault-sdk
Description: TypeScript SDK client for the QNSP vault-service API. Provides secret management with envelope encryption, versioning, and rotation.
Latest version: 0.3.4

# @qnsp/vault-sdk

TypeScript SDK client for the QNSP vault-service API. Provides secret management with envelope encryption, versioning, and rotation.

Part of the [Quantum-Native Security Platform (QNSP)](https://qnsp.cuilabs.io).

## Installation

```bash
pnpm add @qnsp/vault-sdk
```

## Quick Start

```typescript
import { VaultClient } from "@qnsp/vault-sdk";

const vault = new VaultClient({
  baseUrl: "https://api.qnsp.cuilabs.io",
  apiKey: "YOUR_API_KEY",
});

const secret = await vault.createSecret({
  tenantId: "your-tenant-id",
  name: "db/credentials",
  payload: btoa(JSON.stringify({ user: "admin", pass: "s3cret" })),
});

const retrieved = await vault.getSecret(secret.id);
```

## Documentation

- [SDK Reference](https://docs.qnsp.cuilabs.io/sdk/vault-sdk)
- [API Documentation](https://docs.qnsp.cuilabs.io/api)
- [Getting Started](https://docs.qnsp.cuilabs.io/quickstart)

## Requirements

- Node.js >= 24.12.0 (`engines` in `package.json`; QNSP monorepo baseline)
- A QNSP account and API key — [sign up free](https://cloud.qnsp.cuilabs.io/auth) with GitHub, Google, or email

## License

[Apache-2.0](./LICENSE)