{"ok":true,"checkedAt":"2026-07-17T20:54:56.524Z","contractVersion":"moral-trade-privacy-governance-v0.1-2026-06","purpose":"Public fail-closed contract for privacy grants, private-data access logs, and disclosure reviews before reviewer, counterparty, contact, evidence, export, or redacted-public access to private Moral Trade data.","validation":{"status":"pass","validatorName":"moral-trade-privacy-governance-contract","validatorVersion":"moral-trade-privacy-governance-validator-v0.1","contractVersion":"moral-trade-privacy-governance-v0.1-2026-06","checks":[{"id":"first-class-records","label":"Privacy policies, access logs, and disclosure reviews are first-class records","status":"pass","evidence":"privacy_grants, moral_trade_privacy_grant_policies, moral_trade_privacy_access_logs, moral_trade_privacy_disclosure_reviews"},{"id":"policy-subjects","label":"Policy snapshots cover privacy disclosure","status":"pass","evidence":"privacy_disclosure"},{"id":"surface-coverage","label":"All private-disclosure surfaces are covered","status":"pass","evidence":"reviewer_access, counterparty_preview, contact_introduction, evidence_review, profile_export, public_redacted_publication"},{"id":"grant-boundary","label":"Audience stages and access levels preserve staged disclosure","status":"pass","evidence":"registry, consent, introduced, public_redacted / hidden, broad, specific, contact"},{"id":"fail-closed-statuses","label":"Fail-closed statuses cover grant, access-log, review, redaction, and hash blockers","status":"pass","evidence":"policy_missing, policy_mutable, policy_stale, policy_superseded, grant_missing, grant_not_granted, grant_revoked, grant_expired, grant_superseded, grant_scope_mismatch, grant_purpose_missing, grant_expiry_missing, grant_hash_invalid, access_log_missing, access_log_stale, access_log_superseded, purpose_limit_missing, role_limit_missing, raw_private_artifact_returned, private_data_returned_without_allowed_decision, counterparty_disclosure_without_grant, public_disclosure_without_redaction_policy, redaction_missing, review_missing, review_failed, review_stale, confidentiality_review_missing, data_security_unresolved, reviewer_quality_missing, account_security_missing, participant_confirmation_missing, external_authority_missing, invalid_access_hash, invalid_review_hash, invalid_policy_hash"},{"id":"sample-evaluations","label":"Sample evaluations prove pass and blocked disclosure states","status":"pass","evidence":"contact_introduction:pass, public_redacted_publication:blocked"},{"id":"privacy-rule","label":"Privacy rule excludes raw private artifacts and participant-specific access records","status":"pass","evidence":"Private facts, exact wishes, contact details, source notes, private evidence, credentials, and sensitive constraints can move only through explicit revocable privacy grants, frozen privacy-disclosure policy, purpose-limited access, role-limited access, and privacy_access_log records. Public contract surfaces publish table names, statuses, and sample outcomes only; they do not expose raw private artifacts, exact wishes, contact details, private evidence, source notes, access paths, reviewer notes, or participant-specific access records."},{"id":"contract-tests","label":"Contract test hooks are named","status":"pass","evidence":"privacy_governance_contract_validator, privacy_grant_evaluator_fail_closed, privacy_access_log_schema_contract, privacy_governance_route_contract, privacy_governance_health_contract"}],"blockers":[]},"publicContract":{"privacyRule":"Private facts, exact wishes, contact details, source notes, private evidence, credentials, and sensitive constraints can move only through explicit revocable privacy grants, frozen privacy-disclosure policy, purpose-limited access, role-limited access, and privacy_access_log records. Public contract surfaces publish table names, statuses, and sample outcomes only; they do not expose raw private artifacts, exact wishes, contact details, private evidence, source notes, access paths, reviewer notes, or participant-specific access records.","failClosedRule":"No private disclosure without a reconstructible ledger: missing frozen privacy policy, missing or revoked privacy grant, missing access log, stale log, missing purpose or role limit, raw private artifact return, missing confidentiality/privacy-rights review, missing data-security review, missing reviewer-quality/account-security/participant-confirmation checks, or invalid hashes block reviewer access, counterparty previews, contact introductions, evidence review, profile export, and public redacted publication.","existingRecordTables":["privacy_grants"],"firstClassRecordTables":["moral_trade_privacy_grant_policies","moral_trade_privacy_access_logs","moral_trade_privacy_disclosure_reviews"],"policySnapshotSubjects":["privacy_disclosure"],"surfaces":["reviewer_access","counterparty_preview","contact_introduction","evidence_review","profile_export","public_redacted_publication"],"audienceStages":["registry","consent","introduced","public_redacted"],"accessLevels":["hidden","broad","specific","contact"],"failClosedStatuses":["policy_missing","policy_mutable","policy_stale","policy_superseded","grant_missing","grant_not_granted","grant_revoked","grant_expired","grant_superseded","grant_scope_mismatch","grant_purpose_missing","grant_expiry_missing","grant_hash_invalid","access_log_missing","access_log_stale","access_log_superseded","purpose_limit_missing","role_limit_missing","raw_private_artifact_returned","private_data_returned_without_allowed_decision","counterparty_disclosure_without_grant","public_disclosure_without_redaction_policy","redaction_missing","review_missing","review_failed","review_stale","confidentiality_review_missing","data_security_unresolved","reviewer_quality_missing","account_security_missing","participant_confirmation_missing","external_authority_missing","invalid_access_hash","invalid_review_hash","invalid_policy_hash"],"surfaceDefinitions":[{"key":"reviewer_access","protectedData":"exact wishes, private evidence, source notes, and sensitive constraints","requiredControls":["frozen_privacy_disclosure_policy","explicit_revocable_privacy_grant","purpose_limited_access","role_limited_access","privacy_access_log","data_security_review","confidentiality_privacy_rights_review","reviewer_quality_check","account_security_check"],"blocksTransitions":["reviewer_evidence_acceptance","privacy_grant_approval"]},{"key":"counterparty_preview","protectedData":"counterparty-visible exact fields and consent-stage summaries","requiredControls":["frozen_privacy_disclosure_policy","explicit_revocable_privacy_grant","purpose_limited_access","role_limited_access","privacy_access_log","data_security_review","confidentiality_privacy_rights_review","participant_confirmation"],"blocksTransitions":["counterparty_preview_disclosure","matched_trade_lock_proposal"]},{"key":"contact_introduction","protectedData":"contact details, direct identifiers, and introduced-stage routing","requiredControls":["frozen_privacy_disclosure_policy","explicit_revocable_privacy_grant","purpose_limited_access","role_limited_access","privacy_access_log","data_security_review","confidentiality_privacy_rights_review","participant_confirmation","account_security_check"],"blocksTransitions":["contact_detail_release","intro_packet_contact_approval"]},{"key":"evidence_review","protectedData":"submitted artifacts, filenames, metadata, and claim-scoped evidence","requiredControls":["frozen_privacy_disclosure_policy","explicit_revocable_privacy_grant","purpose_limited_access","role_limited_access","privacy_access_log","data_security_review","confidentiality_privacy_rights_review","claim_scope_review"],"blocksTransitions":["evidence_acceptance","impact_claim_review"]},{"key":"profile_export","protectedData":"owner-scoped privacy grants and private background records","requiredControls":["frozen_privacy_disclosure_policy","explicit_revocable_privacy_grant","purpose_limited_access","role_limited_access","privacy_access_log","data_security_review","confidentiality_privacy_rights_review","export_scope_review"],"blocksTransitions":["profile_export_private_payload"]},{"key":"public_redacted_publication","protectedData":"public summaries derived from private facts or evidence","requiredControls":["frozen_privacy_disclosure_policy","explicit_revocable_privacy_grant","purpose_limited_access","role_limited_access","privacy_access_log","data_security_review","confidentiality_privacy_rights_review","redacted_publication_policy","small_sample_suppression"],"blocksTransitions":["public_impact_claim","transparency_report_publication"]}],"privacyGovernanceSampleEvaluationStatuses":{"contact_introduction":"pass","public_redacted_publication":"blocked"},"contractTests":["privacy_governance_contract_validator","privacy_grant_evaluator_fail_closed","privacy_access_log_schema_contract","privacy_governance_route_contract","privacy_governance_health_contract"]},"blockers":[]}