Projects
A project maps to a single web application you want to monitor. It lives inside an organization and holds all the environments, pages, and batch runs for that application.
Creating a project
Click New project inside your organization. Project names may contain letters, numbers, spaces, and hyphens (2–50 characters). deploydiff generates a URL-safe slug from the name automatically.
Members and roles
Org Owners and Admins have full access to every project automatically — no explicit membership needed. Org Members must be added to a project individually and receive one of two project-scoped roles:
| Role | What they can do |
|---|---|
| Member | View results; add, edit, and remove pages; enable pages per environment; trigger capture and diff batches |
| Participant | View-only access to all project content |
Manage project members from the project's Members page.
Pinning
Pin a project to make it appear at the top of your organization dashboard. Use the Pin action from the project settings.
Diff config
Controls how screenshots are compared and how the result is judged, for every environment of the project. Each setting can be overridden per page, because how noisy a page is and how much it may legitimately change are properties of its content, not of the environment it runs in.
- Pixel color tolerance — a per-channel color delta (0–255) under which a pixel is not counted as different (default: 0, i.e. exact comparison). Useful for pages whose rendering is not pixel-stable between loads — embedded maps, canvas, images re-encoded on the fly. Typical values to absorb anti-aliasing noise: 5–15. Any value above 0 makes diffs more expensive to compute, billed on actual run time.
- Pixel diff threshold (%) — the maximum allowed percentage of differing pixels (default: 10%). Leave empty for no percentage cap.
- Max diff pixel count — the maximum allowed number of differing pixels, regardless of image size (default: 100). Leave empty for no count cap.
A comparison Fails if either threshold is exceeded, and Passes only when it stays at or below every threshold that is set; at least one of the two must be set. The percentage cap scales with page size; the absolute pixel cap catches large changes that would otherwise stay a small percentage of a very tall page.
Every diff task records the tolerance and the thresholds it was actually judged against, visible on the task detail page and in its raw result.
Capture config
Neutralises unstable parts of a page just before it is captured, for every environment of the project. Pages can add their own. Unlike the pixel color tolerance, nothing here changes what a capture costs — it is DOM work done inside the capture.
- Hide — collapse the space — CSS selectors set to
display: none, so the layout reflows. For a box that is not always there or whose height varies: cookie banners, promo bars, environment badges. - Mask — keep the space — CSS selectors painted over with a solid color, leaving the layout untouched. For unstable content inside a stable box: embedded maps, ad slots, tickers, live counters.
- Unfocus before capture — blurs the focused element and hides text carets (default: on). A caret is visible or not depending on its blink phase at capture time, which produces a one-pixel-wide difference that means nothing.
Choosing between the two lists matters. Painting fixes unstable content in a stable box; hiding fixes an unstable box. A cookie banner present on staging and absent on production, if painted, leaves a colored block on one capture and nothing on the other — everything below shifts and the comparison reports a large difference that is pure artefact. Hiding it on both sides realigns the rest.
One selector per line. A selector listed in both fields is hidden, not painted. A selector matching nothing is normal and harmless — that is what makes a project-wide #staging-badge safe, since it simply matches nothing in production. Every capture records what each selector matched, including selectors the browser rejected as invalid CSS, which are reported rather than failing the capture.
What a project contains
- Environments — deployment targets such as production, staging, or preview URLs
- Pages — the URL paths to monitor across all environments
- Capture batches — screenshot runs for a specific environment
- Diff batches — visual comparisons between two capture batches
Deleting a project permanently removes all of the above.