# What is ZK-Provenance?

ZK-Provenance is a **decentralized document verification and attestation protocol** built on Solana. It uses Zero-Knowledge cryptography to let anyone prove the authenticity of a document without revealing its contents.

## The Problem

Verifying documents today forces a painful tradeoff:

| Approach           | Privacy         | Verifiability  |
| ------------------ | --------------- | -------------- |
| Share raw document | ❌ Violated      | ✅ Verified     |
| Hide document      | ✅ Protected     | ❌ Unverifiable |
| **ZK-Provenance**  | ✅ **Protected** | ✅ **Verified** |

A hospital proving HIPAA compliance must share patient records. A company proving GDPR adherence must expose user data. A job applicant must share their entire salary history.

**This is a design failure — not a technical limitation.**

## The Solution

ZK-Provenance eliminates this tradeoff using **Groth16 Zero-Knowledge proofs**:

1. Your document is hashed locally using **Poseidon-128** — it never leaves your device
2. A ZK circuit proves your document is valid and policy-compliant
3. A **288-byte proof** is submitted to Solana
4. Anyone can verify the proof in **<1ms** — without seeing your data

## Key Properties

### 🔐 Privacy by Default

Your original data never touches our servers. Only the cryptographic commitment (hash) is processed.

### ⛓ Permanently On-Chain

Every attestation is recorded on Solana — tamper-proof, permanent, and publicly verifiable.

### ⚡ Blazing Fast

Proof verification takes less than 1 millisecond via Solana's ZK syscall.

### 💸 Extremely Cheap

$0.0001 per attestation — 5,000x cheaper than traditional audit processes.

### 🌐 Multi-Framework

Prove compliance with GDPR, HIPAA, SOC2, ISO27001, and CCPA — simultaneously.

## Who Is It For?

* **Enterprises** proving regulatory compliance without exposing sensitive data
* **DeFi protocols** needing on-chain creditworthiness proofs
* **Developers** building privacy-preserving verification into their apps
* **Individuals** proving credentials without sharing full documents


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zkprovenance.io/introduction/what-is-zk-provenance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
