Skip to Content
Docs
Capture

Privacy and uploads

Choose what leaves your machine and understand the limits of sanitization.

Review every upload

Capture uploads source and diagnostic evidence to your selected organization. Before transfer, interactive capture shows the effective policy, file selection, sanitized previews, and destination. Consent applies to the reviewed bytes and destination. Changing them requires fresh review.

Check source files, logs, and any approved media. Cancel rather than upload anything you are unsure about. Text scanning cannot certify personal data, proprietary logic, every secret, or the contents of pixels.

Understand file selection

Capture follows root and nested .gitignore files, capture exclusion rules, and built in denials for sensitive files. Include patterns and file selection cannot restore denied or ignored files. Frozen capture omits .env source files.

In a monorepo, the inventory includes the app, its declared internal dependencies, and workspace configuration. Paths and policy patterns are relative to the frozen workspace root. Review internal package files too. Dependency selection is static and does not trace application execution.

Excluding a known required input needs correction or an explicit capture only choice. Capture only preserves evidence with incomplete replay inputs; it never bypasses privacy failures.

Review browser evidence separately

Screenshots and video are excluded by default. Interactive capture may offer to review them in a private local viewer. Inspect the exact image or recording before approving inclusion. Unreviewed or declined media stays excluded. Network bodies, cookies, and authorization headers are omitted.

Recognized credentials and configured environment values are redacted, but scanning has limits. Unsupported binaries are excluded. Recognized assets require explicit unscanned asset permission and remain labeled unscanned.

Automation

Review and commit a policy before automated capture. For a standalone project, save this as .reprolane/capture-policy.json relative to the project directory. In a monorepo, use the frozen workspace root for patterns.

{
  "version": 1,
  "include": ["**/*"],
  "exclude": ["private-notes/**"],
  "evidence": {
    "logs": true,
    "network": true,
    "screenshot": false,
    "video": false
  },
  "redactEnvironment": ["MY_API_TOKEN"],
  "allowUnscannedAssets": false,
  "reviewedVisualDigests": []
}

Adapt the broad include rule to the source you intend to transfer. redactEnvironment contains variable names, never secret values. Supported glob syntax is *, **, and ?.

From the app directory, with authentication provided in your secret environment:

reprolane capture command "npm test" \
  --organization YOUR_ORGANIZATION_ID \
  --capture-policy .reprolane/capture-policy.json \
  --consent-upload --json

Expect a JSON receipt on success. Without consent, automated upload is rejected. --json and nonterminal sessions never prompt. Automation can include media only when its category is enabled and its exact reviewed digest is present in the policy.

Inspect without executing

From the app directory:

reprolane capture --dry-run --json

Expect a local inventory without command execution, upload, service contact, or sandbox allocation. Scanning is marked pending. This inventory is not proof that the final upload is safe.

If review blocks your capture, use privacy recovery.

On this page