whiteducksoftware / whiteducksoftware/flock

[1.0] Keep private input data out of public WorkflowError artifacts

Open
#428 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
120
Forks
14
Avg merge
19h 32m
Merged PRs (30d)
8

Description

Task failures currently copy str(exc) into a WorkflowError artifact without an explicit restrictive visibility policy. An exception can therefore turn a private input into a public error payload.

Scope

  • Publish a content-minimal public error code and keep detailed diagnostics behind the appropriate reader permissions.
  • For multiple inputs, derived diagnostics require their common permitted readership; unknown or ambiguous attribution must not broaden access.
  • Cover context construction, execution and output/consumption persistence failures without losing the failure's run association.

Acceptance criteria

  • A deterministic engine raises a synthetic private input value; foreign and anonymous readers cannot retrieve it from error artifacts or exposed diagnostics.
  • The authorized operator can identify the failed run and inspect the permitted details.
  • Mixed-visibility inputs do not widen diagnostic readership, and failure handling cannot itself publish raw exception content publicly.

Boundaries

Automatic retries, durable approvals and a new general policy framework are deferred.

References

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading src/flock/core/orchestrator.py, src/flock/core/artifacts.py, and src/flock/core/visibility.py, then trace context construction, execution, and output or consumption persistence failures. Done means public artifacts expose only a deterministic minimal error code, permitted operators retain run association and authorized details, and foreign or anonymous readers cannot retrieve private exception content, including for mixed-visibility inputs.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.