refactor: remove the public attribute from workflows
Merged
MA
3mo ago+336+336+012345678901234567890123456789-2027-2027-0123456789012345678901234567890123456789
Summary
Removes the workflow public feature from Chainloop. Public workflows previously made a workflow's runs, attestations, materials and CAS artifacts readable by any authenticated user across organizations. With this change, access to that evidence is organization-scoped only and honors project RBAC.
What changes
- The
publicattribute is removed from workflows, including theworkflows.publicdatabase column. - Workflow-run and CAS-mapping lookups are now organization-strict;
WorkflowRunService.Viewalways applies project RBAC. - The cross-organization public download fallback for CAS artifacts is removed.
- The public shared referrer index is retired, including the
DiscoverPublicSharedAPI and its configuration. - The CLI
--publicflags (workflow create,workflow update,referrer discover) and thePubliccolumn inworkflow listare removed. - The corresponding API fields are removed and their tag numbers reserved;
WorkflowItem.publicis kept as a deprecated, always-false field for wire compatibility. - A database migration drops the
publiccolumn.
Notes
This is an API and behavior change: existing public workflows become organization-only, the DiscoverPublicShared endpoint is removed, and the CLI --public flags no longer exist.