Files
promptfoo--promptfoo/site/docs/usage/sharing.md
T
wehub-resource-sync 0d3cb498a3
CI / Shell Format Check (push) Has been cancelled
CI / Check Ruby (3.4) (push) Has been cancelled
CI / CI Config (push) Has been cancelled
CI / Test on Node ${{ matrix.node }} and ${{ matrix.os }}${{ matrix.shard && format(' (shard {0}/3)', matrix.shard) || '' }} (push) Has been cancelled
CI / Build on Node ${{ matrix.node }} (push) Has been cancelled
CI / Style Check (push) Has been cancelled
CI / Generate Assets (push) Has been cancelled
CI / Check Python (3.14) (push) Has been cancelled
CI / Check Python (3.9) (push) Has been cancelled
CI / Build Docs (push) Has been cancelled
CI / Code Scan Action (push) Has been cancelled
CI / Site tests (push) Has been cancelled
CI / webui tests (push) Has been cancelled
CI / Run Integration Tests (push) Has been cancelled
CI / Run Smoke Tests (push) Has been cancelled
CI / Go Tests (push) Has been cancelled
CI / Share Test (push) Has been cancelled
CI / Redteam (Production API) (push) Has been cancelled
CI / Redteam (Staging API) (push) Has been cancelled
CI / GitHub Actions Lint (push) Has been cancelled
CI / Check Ruby (3.0) (push) Has been cancelled
release-please / release-please (push) Has been cancelled
release-please / build (push) Has been cancelled
release-please / publish-npm (push) Has been cancelled
release-please / publish-npm-backfill (push) Has been cancelled
release-please / docker (push) Has been cancelled
release-please / publish-code-scan-action (push) Has been cancelled
release-please / attest-code-scan-action (push) Has been cancelled
Deploy local.promptfoo.app / Deploy to Cloudflare Pages (push) Has been cancelled
Test and Publish Multi-arch Docker Image / test (push) Has been cancelled
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-amd64 platform:linux/amd64 runner:ubuntu-latest]) (push) Has been cancelled
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-arm64 platform:linux/arm64 runner:ubuntu-24.04-arm]) (push) Has been cancelled
Test and Publish Multi-arch Docker Image / merge-docker-digests (push) Has been cancelled
Test and Publish Multi-arch Docker Image / Attest Multi-arch Image (push) Has been cancelled
Validate Renovate Config / Validate Renovate Configuration (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:24:08 +08:00

6.1 KiB

sidebar_position, description, keywords
sidebar_position description keywords
40 Share your promptfoo eval results with teams via cloud platform, enterprise deployment, or self-hosted infrastructure
eval sharing
model testing
promptfoo sharing
collaboration
team sharing

Sharing

Share your eval results with others using the share command or the web interface.

Sharing uploads the eval/report snapshot needed to view the result. This can include prompts, vars, outputs, traces, metadata, provider configuration fields, media/blob references, scan artifacts, and derived artifacts. Do not put secrets in prompts, datasets, provider config fields, metadata, or other shareable inputs unless that field is documented as redacted. See the security policy for what counts as a configured sharing destination.

Quick Start (Cloud)

Most users will share to promptfoo.app cloud:

# Login (one-time setup)
# First, get your API key from https://promptfoo.app/welcome
promptfoo auth login -k YOUR_API_KEY

# Run an eval and share it
promptfoo eval
promptfoo share

:::note

Cloud sharing creates private links only visible to you and your organization. If you don't have an account, visit https://promptfoo.app/welcome to create one and get your API key.

:::

Web Interface Sharing

Share evals directly from the web interface with a single click. The Share button appears in the "Eval actions" dropdown menu for all evals.

Share button location in web interface

Share an Eval via Web Interface

  1. Open your eval results in the web interface
  2. Click "Eval actions" in the top toolbar
  3. Select "Share" from the dropdown menu
  4. Follow the prompts to generate your shareable URL

:::tip

The share button is visible by default for all evals. If sharing isn't configured, you'll see helpful setup instructions instead of errors.

:::

Sharing Behavior by Setup Type

  • Cloud users: Generates private sharing URLs automatically
  • Enterprise users: Creates team-accessible links with role-based permissions
  • Self-hosted users: Uses your configured sharing endpoints
  • Unconfigured setups: Displays clear setup instructions with next steps

Sharing Specific Evals

# List available evals
promptfoo list evals

# Share by ID
promptfoo share my-eval-id

Enterprise Sharing

If you have a Promptfoo Enterprise account:

# Login to your enterprise instance
# Get your API key from the "CLI Login Information" section in your profile
promptfoo auth login --host https://your-company.promptfoo.app -k YOUR_API_KEY

# Share your eval
promptfoo share

Enterprise sharing includes additional features:

  • Team-based access controls
  • Role-based permissions for shared evals
  • SSO integration (SAML 2.0 and OIDC)

For more details on authentication and team management, see the Enterprise documentation.

CI/CD Integration

Using API Tokens (Cloud/Enterprise)

# Authenticate with API token
export PROMPTFOO_API_KEY=your_api_token

# Run and share
promptfoo eval --share

Get your API token from the "CLI Login Information" section in your account settings. For Enterprise users, you can also use Service Accounts for CI/CD integration.

Advanced: Self-Hosted Sharing

For users with self-hosted instances:

# Configure sharing to your server
export PROMPTFOO_REMOTE_API_BASE_URL=http://your-server:3000
export PROMPTFOO_REMOTE_APP_BASE_URL=http://your-server:3000

# Share your eval (no login required)
promptfoo share

If you need to use HTTP Basic Authentication with your self-hosted server:

# Configure sharing with basic auth credentials in URL
export PROMPTFOO_REMOTE_API_BASE_URL=http://username:password@your-server:3000
export PROMPTFOO_REMOTE_APP_BASE_URL=http://username:password@your-server:3000

You can also add these settings to your promptfooconfig.yaml:

sharing:
  apiBaseUrl: http://your-server:3000
  appBaseUrl: http://your-server:3000

Config-supplied sharing endpoints are trusted. Only accept or run configs with sharing.apiBaseUrl / sharing.appBaseUrl from sources you trust, because sharing sends the eval snapshot to the configured endpoint.

:::tip

Self-hosted sharing doesn't require promptfoo auth login when these environment variables or config settings are present.

:::

Troubleshooting Upload Issues

Handling "413 Request Entity Too Large" Errors

When sharing large eval results, you may encounter "413 Request Entity Too Large" errors from NGINX or other proxies. This happens when the request payload exceeds the server's configured limit.

You can solve this in two ways:

  1. Reduce chunk size (client-side):

    # Reduce the number of results per upload chunk (default is calculated automatically)
    # Start with a small value like 10-20 for very large evals
    export PROMPTFOO_SHARE_CHUNK_SIZE=10
    
  2. Increase NGINX max body size (server-side):

    # In your nginx.conf or site config
    client_max_body_size 20M; # Adjust as needed
    

For multi-tenant environments, reducing the chunk size on the client is usually safer than increasing server limits.

Disabling Sharing

To disable sharing completely, use any of the controls below. These controls prevent both the eval snapshot and referenced media/blob data from being uploaded to a sharing destination. Media blobs are still stored locally, so they remain available in the local viewer and are included if you later run an explicit promptfoo share command.

Disable for One Eval

promptfoo eval --no-share

Disable via Configuration

sharing: false

Disable via Environment Variable

export PROMPTFOO_DISABLE_SHARING=true

See Also