User story
A freelancer wants to prove "I have completed ≥ N jobs" or "my average rating ≥ X" to a
prospective client without revealing which clients, projects, or amounts are behind that record.
Background
Reputation is tracked on-chain (ratings.rs: get_average_rating, get_completed_escrows,
get_badge). Today these expose the full history. ZK lets the freelancer prove a threshold while
keeping specifics private.
What needs to be done
Acceptance criteria
Relevant files
contracts/secureflow/src/ratings.rs, src/components/reputation-score.tsx
Depends on #35.
User story
A freelancer wants to prove "I have completed ≥ N jobs" or "my average rating ≥ X" to a
prospective client without revealing which clients, projects, or amounts are behind that record.
Background
Reputation is tracked on-chain (
ratings.rs:get_average_rating,get_completed_escrows,get_badge). Today these expose the full history. ZK lets the freelancer prove a threshold whilekeeping specifics private.
What needs to be done
the on-chain reputation set); public = threshold N / X and a commitment root
verify_reputation_proof(...)returning pass/fail, with a nullifier toprevent replay
Acceptance criteria
Relevant files
contracts/secureflow/src/ratings.rs,src/components/reputation-score.tsx