48d29d4a6bdf70de21c166a7a50b00878a1e9f70
evaluation.getDiscussion and evaluation.addComment were juryProcedure that took projectId+roundId from input but never verified the caller had an Assignment for that project+round. A juror could read foreign deliberations and inject comments into them. evaluation.getCOIStatus was protectedProcedure with no ownership check, returning the full ConflictOfInterest record (including the free-text description that captures personal/financial relationships) for any assignmentId. Both now check that admins are allowed always and otherwise require assignment ownership. getCOIStatus loads the assignment to verify caller ownership before returning the COI record. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
TypeScript
99.5%
JavaScript
0.2%
Shell
0.2%
CSS
0.1%