# Projects Overview > Projects, workflows, scans, runs, and artifacts — the core BountyHub object model and how they fit together. ## The Object Model ```text Project └── Workflow (e.g. "recon") ├── Revision (every save creates one; scans pin a revision) └── Scan (a dispatch of a workflow revision) └── Run (one execution of a scan on a runner) └── Artifacts (files handed between activities) ``` - **Project** (`/u//projects/`) — owns everything: workflows, datasets, vars/secrets/MCP config, and agent setup. Create one per target or program at `/projects/new`. - **Workflow** (`.../workflows/`) — a saved [BHW definition](/workflows/overview). Editing creates a new **revision**; dispatches always run against a pinned revision, so a scan is reproducible. - **Scan** — a dispatch of a workflow revision: manual (`trigger.dispatch`), scheduled (`trigger.cron`), or event-driven (`trigger.on(...)`). Dispatch manually from the workflow page or the CLI: ```bash bh scan dispatch --workflow-id "" --scan-name "nightly" \ --input-string "domain=acme-example.com" --input-bool "aggressive=false" ``` - **Run** (`.../scans//runs/`, list at `.../workflows//runs`) — one execution of a scan on a [runner](/runners/overview). The run tree shows every activity and step with status, logs, and produced files. - **Artifacts** — files handed between activities via `step.upload_artifact` / `step.download_artifact` (see [Steps](/workflows/steps#artifacts)). They belong to the run; control retention with `expires_in = duration.days(7)`. ## Project Tabs
Tab Purpose Docs
Workflows Definitions, revisions, scans, runs Workflows
Datasets Asset inventory accumulated across runs Datasets guide
Vars / Secrets / MCP External configuration referenced via config.* Configuration
Agent Chat, providers, skills for this project BH Agent
## Next Steps - [Runs & Artifacts](/projects/runs-artifacts): Read results and pull files with the CLI. - [Workflows Overview](/workflows/overview): Write the automation itself. - [Runners](/runners/overview): Provide the compute runs execute on.