Access & Governance

Roles, Responsibilities & Permissions

Juryza enforces a strict two-tier role architecture: platform-level account capabilities and event-level scope. Every user has a defined role, clear responsibilities, and hard cryptographic boundaries enforced on every API route.

The Two-Tier Role Architecture

Permissions are evaluated at two distinct layers. Platform roles define account capabilities across Juryza, while event roles isolate administrative control to specific hackathons. An organizer cannot touch another organizer's event, and a judge only sees submissions assigned to their blind queue.

1. Platform Role

Stored on the user record in order of ascending authority:

visitor<participant<judge<organizer<admin

A higher role inherits platform-wide abilities below it. For example, an organizer can also participate as a builder or act as a judge.

2. Event-Level Scopes

Strict multi-tenant security evaluated per event:

  • Event Creator / Manager: Only the creator (or platform admin) can manage an event.
  • Panel Judge: A user explicitly added to the event's judge roster (event_judge).
  • Team Member: Registered builder tied to an active submission.

Participant: Builders & Hackers

Participants are the innovators of the hackathon ecosystem. They form teams, build projects, submit deliverables, allocate community votes, and climb the platform rankings.

What Participants CAN Do:

  • Register for any open hackathon with one click
  • Create teams or join existing teams via secret invite links
  • Submit projects with live demo URLs, code repositories, videos, and rich TipTap writeups
  • Participate in Quadratic Community Voting (allocating credits)
  • Leave constructive feedback and ask questions on other project galleries
  • Curate their public builder profile with custom handle, bio, and social links

What Participants CANNOT Do (Enforced Safeguards):

  • No Self-Voting: Cannot allocate quadratic votes to their own team's project
  • No Scoring Access: Cannot view raw judge marks or uncalibrated scoring sheets
  • Deadline Lock: Cannot edit submission content after the event submission window closes
  • No Event Mutation: Cannot change event timelines, rubrics, or prize categories

Judge: Impartial Evaluation & Pairwise Arena

Judges are domain experts, engineers, and sponsors invited to evaluate submissions. Juryza protects judges from bias through automated blind queue isolation and mathematical normalization.

What Judges CAN & SHOULD Do:

  • Access the dedicated Scoring Console (/judging/[slug])
  • Score assigned projects against weighted multi-criteria rubrics (1–5 scale)
  • Compete in the Pairwise Duel Arena using active Bradley–Terry comparisons
  • Leave private evaluation notes and constructive feedback for team creators
  • Quickly undo or skip pairwise matchups with keyboard shortcuts (Z, S)
  • View their personal calibration stats (mean offset, dispersion, scoring consistency)

Judge Privacy & Security Invariants:

  • Blind Queue Isolation: Judge B can never view Judge A's scores or feedback
  • Conflict of Interest (COI) Quarantine: Judges are forbidden from evaluating their own projects
  • Pre-Publication Secrecy: Cannot view overall aggregate ranking before official publication
  • No Arbitrary Editing: Cannot modify rubrics, weights, track limits, or project code

Organizer: Event Orchestration & Defensible Results

Organizers design the competition, configure the rubric, invite the panel, run review distribution algorithms, and publish mathematically defensible results.

What Organizers CAN & SHOULD Do:

  • Create events and set lifecycle timeline milestones (Upcoming, Submissions, Judging, Voting, Results)
  • Define tracks, prize pools, and weighted custom scoring criteria
  • Invite panel judges and restrict judges to specific expertise tracks
  • Run the Automated Review Assignment Algorithm to balance judging loads
  • Inspect z-score normalized scores, judge harshness flags, and pairwise Bradley–Terry models
  • Assign podium positions, track prizes, and publish results to lock judging data
  • Export full CSV/JSON datasets (scores, comments, calibration, audit logs)

Organizer Scope Boundaries:

  • Tenant Isolation: An organizer has zero administrative power over other organizers' hackathons
  • Immutability on Publish: Once results are published, scores and pairwise verdicts are permanently locked
  • No System Access: Cannot ban accounts, edit platform database schemas, or alter platform configs

Admin: Platform Superuser & Integrity Audit

Admins hold platform-wide operational authority. They maintain system integrity, resolve disputes, moderate abusive behavior, and oversee compliance across all events.

What Admins CAN Do:

  • Manage all users on the platform (/admin/users)
  • Promote or demote user roles (participant → judge → organizer → admin)
  • Suspend or ban abusive accounts (instantly revoking sessions and API access)
  • Access and manage any hackathon on the platform for moderation or dispute support
  • Inspect immutable platform audit trails (/admin/audit) with IP and actor details

Admin Audit & Accountability:

Superuser powers are not invisible. Every administrative action (role escalation, ban, override, or audit query) is recorded permanently in the append-only audit log with timestamp, actor identity, target ID, and IP address for compliance.

Comprehensive Permissions Matrix

A side-by-side comparison of every platform action across all five roles. Badges indicate scoped permissions or conditional access rules.

Open ModeCommunity Voting

In Juryza, hackathons configure Community Voting Access as Open, Authenticated, or Registered. In Open Mode, anyone with a web browser (even unauthenticated visitors) receives an anonymous voter token and can allocate quadratic vote credits. In Authenticated mode, users must sign in; in Registered mode, only accepted hackathon participants may vote.

AssignedJudging Queue

Assigned means judges cannot pick and choose which projects to evaluate. Projects must be explicitly assigned to that judge by the organizer or the automated review balancing algorithm. Judges only score within their permitted tracks and where zero conflict of interest exists. Even organizers and admins acting as judges only score their assigned queue.

Own EventsTenant Scope

Own Events enforces strict multi-tenant isolation. An organizer has complete managerial control over hackathons they personally created (createdBy === userId), but has zero administrative access to hackathons organized by others. Platform Admins retain platform-wide override capability.

Capability / ActionVisitorParticipantJudgeOrganizerAdmin
Browse public events, gallery & leaderboards
Register for an event & join teams
Submit projects & edit writeups
Quadratic Community VotingOpen Mode
Leave feedback & questions on projects
Score projects in blind queue (Rubric 1–5)AssignedAssignedAssigned
Compete in Pairwise Duel Arena (Bradley–Terry)AssignedAssignedAssigned
Create new hackathons
Edit event tracks, rubrics & timelineOwn Events
Invite judges & run automated assignmentsOwn Events
Preview z-score normalized calibrationOwn Events
Publish defended results & lock scoringOwn Events
Export event datasets (CSV / JSON)Own Events
Promote/demote users & ban accounts
Inspect platform-wide immutable audit trailEvent Scope

Security & Integrity Invariants

Juryza does not rely on client-side security checks. Every permission is validated on the server inside route middleware.

Blind Review Isolation
Judges score completely independently without anchoring. Judge B can never view Judge A's raw scores or feedback notes until results are officially declared.
Tamper-Proof Audit Trail
Every score change, pairwise vote, role update, account suspension, and publish command records an immutable audit log entry containing the exact actor, timestamp, and network IP.
Quadratic Sybil Resistance
Community voting enforces mathematical quadratic cost (n votes cost n² credits), making vote-buying and spam accounts exponentially expensive while empowering genuine conviction.
Publication Lock
Once results are published, the scoring tables and pairwise records become read-only. Scores cannot be silently altered or retroactively manipulated.