Back to Docs

Briefing for AI assistants

Copy everything below once and paste it into Grok, ChatGPT, Claude, or your team's onboarding doc. Same text is exposed at https://zkshare.io/llms.txt (text/plain) for tools that ingestllms.txt URLs.

ZKshare — paste into Grok / ChatGPT / Claudeplaintext
ZKshare — briefing for coding assistants

Use this verbatim as context when generating integrations, MCP configs, curl examples,
or explaining privacy behavior. Prefer HTTPS + API key for production; MCP is optional.

══════════════════════════════════════════════════════════════════════════════
PRODUCT (one sentence)
══════════════════════════════════════════════════════════════════════════════
ZKshare is a privacy-oriented "context layer" API: store encrypted facts, answer
natural-language yes/no queries with signed proof envelopes, semantic search, and a
limited sandbox — through one HTTPS JSON endpoint plus an optional MCP server on npm.

══════════════════════════════════════════════════════════════════════════════
BASE URL & AUTHENTICATION (REST)
══════════════════════════════════════════════════════════════════════════════
HTTPS origin: https://zkshare.io
Main endpoint (all operations below): POST https://zkshare.io/api/v1/context
Headers:
  Content-Type: application/json
  x-api-key: <zk_live_* key from dashboard>
Optional:
  x-request-id: <uuid> (tracing; echoed in JSON as request_id)

Get keys: https://zkshare.io/api-key (magic link sign-in, then mint key). Keys are hashed server-side.

══════════════════════════════════════════════════════════════════════════════
OPERATIONS (JSON body.operation)
══════════════════════════════════════════════════════════════════════════════
Single POST body union; required fields vary by operation.

• store — Persist a fact.
  • Server-sealed (default): send fact_key + value plaintext; server encrypts (AES-GCM),
    commitment, embedding, pgvector row.
  • Client-sealed (E2EE bundle): ciphertext + iv + auth_tag + commitment + embedding[]
    (1536 floats). Server never sees plaintext.

• prove — fact_key + query. Returns yes/no answer + proof envelope bound to commitment.
  Not for client-sealed facts (422 CLIENT_ENCRYPTED).

• share — like prove plus recipient_agent_id; also returns share_token + expiry (~7 days).

• search — query only (+ optional user_id). Semantic search server-sealed rows (pgvector).
  Client-sealed excluded from ranking.

• verify_proof — proof string only. Validates HMAC envelope without loading plaintext.

• sandbox — action + optional parameters (+ optional user_id). Isolated VM, attestation JWT.

══════════════════════════════════════════════════════════════════════════════
MODEL CONTEXT PROTOCOL (MCP) — OPTIONAL
══════════════════════════════════════════════════════════════════════════════
npm package: zkshare-mcp (stdio MCP; proxies same POST endpoint with env.)
Install/use: npx -y zkshare-mcp

Env passed by host:
  ZKSHARE_API_KEY=<required>
  ZKSHARE_API_URL=https://zkshare.io (optional; omit for prod)

Cursor: merge MCP entry into ~/.cursor/mcp.json — see Docs → Model Context Protocol.
Full JSON example: https://zkshare.io/docs#mcp

══════════════════════════════════════════════════════════════════════════════
TRUST MODEL (SHORT)
══════════════════════════════════════════════════════════════════════════════
• Server holds encryption + proof_hmac secrets only on the backend (not in NEXT_PUBLIC_*).
• Proof field today is versioned JSON + HMAC (verify_proof verifies without plaintext).
• Groth16 / SNARK roadmap for structured predicates; NLP predicates stay HMAC-envelope tier.
• Abuse (enumeration probing) → integrators should rate-limit/filter queries in THEIR app —
  API provides per-key rate limits, not UX policy.

══════════════════════════════════════════════════════════════════════════════
OTHER HTTPS SURFACES
══════════════════════════════════════════════════════════════════════════════
GET https://zkshare.io/api/health        — liveness (edge)
GET https://zkshare.io/api/health/ready  — readiness + DB
OpenAPI 3.1 (machine-readable contract):
  https://raw.githubusercontent.com/sp0oby/zkShare/master/openapi.json

══════════════════════════════════════════════════════════════════════════════
PRICING (SUMMARY)
══════════════════════════════════════════════════════════════════════════════
Free 1k ops/mo; Starter ~20k (~$19); Pro ~100k (~$49) includes audit CSV export tiers;
Stripe metered overages. Exact numbers → https://zkshare.io/docs (pricing tables).

══════════════════════════════════════════════════════════════════════════════
SOURCES
══════════════════════════════════════════════════════════════════════════════
Human docs (examples, trust model): https://zkshare.io/docs
Repository: https://github.com/sp0oby/zkShare
npm MCP: https://www.npmjs.com/package/zkshare-mcp

— END —

Bump the briefing in lib/ai-briefing.ts whenever the REST surface or MCP contract changes so this page and /llms.txt stay in sync.