V32 · Firestore contract

Workspace có subtree Firestore riêng theo participant và artifact.

Contract này giữ artifact, consent, AI log và feedback trong vùng riêng tư; tổ chức chỉ nhìn aggregate.

participant-private

Artifact riêng tư

participants/{participantId}/workspaceArtifacts/{artifactId}

Ghi: participant

Đọc: participant, facilitator-with-debrief-scope

artifact-consent

Consent theo artifact

participants/{participantId}/workspaceArtifacts/{artifactId}/artifactConsent/{scopeId}

Ghi: participant

Đọc: participant, facilitator-with-debrief-scope

participant-private-ai-log

AI revision log

participants/{participantId}/workspaceArtifacts/{artifactId}/aiRevisionLogs/{logId}

Ghi: participant

Đọc: participant, facilitator-with-debrief-scope

feedback-private-unless-consented

Receiver feedback

participants/{participantId}/workspaceArtifacts/{artifactId}/receiverFeedback/{feedbackId}

Ghi: participant

Đọc: participant, facilitator-with-debrief-scope

aggregate-only

Workspace aggregate snapshot

cohorts/{cohortId}/workspaceAggregateSnapshots/{snapshotId}

Ghi: system

Đọc: organization_observer, facilitator, admin

Rules notes

  • Participant chỉ ghi artifact của chính mình.
  • Facilitator chỉ đọc đủ để debrief, không export dữ liệu thô cho tổ chức.
  • Organization chỉ đọc aggregate snapshot.
  • Case public cần consent publish_artifact_as_case theo từng artifact.