Skip to main content

HOL Guard: Open-Source Antivirus for AI Agents

HOL Guard Version Plugin Scanner Version HOL Guard Downloads Plugin Scanner Downloads Python 3.10+ CI Publish Container Image OpenSSF Scorecard License GitHub Stars Lint: ruff

HOL whole dark logo Stop risky AI actions before they compromise your machine. HOL Guard is a local-first security layer for AI agents, tools, plugins, skills, MCP servers, and package installs.

Install HOL Guard
Read the documentation
PyPI Package (hol-guard)
Report an Issue

HOL Guard reviews agent actions before they run: shell commands, file access, package installs, and MCP tool calls. It detects secret exposure, destructive operations, prompt injection, and supply-chain risks, then allows, blocks, or requests approval according to your policy.

Run it locally without an account. Use the CLI and local dashboard to manage protection, resolve approvals, and inspect decision history. Optional Guard Cloud adds shared history, team policy, and fleet management.

Get started · Supported agents · Plugin scanner · Documentation · Contributing

Install HOL Guard

Requires Python 3.10 or newer and pipx.

pipx install hol-guard
hol-guard init

The first-run wizard discovers supported agents and walks you through protection setup. It asks before each setup change, including opening the dashboard, installing agent integrations, and connecting optional cloud services.

Check your installation:

hol-guard --version
hol-guard status

To update an existing installation:

hol-guard update

For manual setup, see the installation guide. Release details and prereleases are on the releases page.

What HOL Guard Protects

Surface Protection
Shell commands and file access Reviews destructive operations, sensitive file access, credential exposure, and suspicious outbound commands.
Package installs Evaluates supported package-manager operations against supply-chain intelligence before installation.
Plugins, skills, and agent configuration Inventories local artifacts and reviews new or changed tools before launch.
MCP servers and tools Inspects server configuration and reviews tool calls through supported hooks and managed proxies.
Prompts and tool results Screens supported events for prompt injection and sensitive content.
Approvals and evidence Routes decisions to native prompts or the approval center, and records local receipts for review.

Guard connects through native agent hooks, managed MCP proxies, and launch integrations. Coverage depends on the events each agent exposes; the support matrix documents enforcement, approval delivery, and failure behavior per integration.

Supported AI Agents

Codex, Claude Code, GitHub Copilot CLI, Cursor, Cline, Gemini CLI, Grok, Hermes, Kimi Code, Pi, oh-my-pi, OpenClaw, OpenCode, Antigravity, and ZCode.

For example, to set up Codex explicitly:

hol-guard install codex
hol-guard run codex --dry-run
hol-guard run codex

The dry run records the current artifact state before launch. For Codex, Guard installs native pre-tool hooks and refuses a managed launch if those hooks are missing or disabled.

Agent support matrix · Troubleshooting

Everyday Use

Task Command
Check protection status hol-guard status
Diagnose an agent integration hol-guard doctor codex
Inspect changes before launch hol-guard diff codex
Review pending approvals hol-guard approvals
Approve or deny a request hol-guard approvals approve <request-id> / hol-guard approvals deny <request-id>
Read decision history hol-guard receipts
List tracked artifacts hol-guard inventory
Export an AI bill of materials hol-guard abom --format json
Scan workspace dependencies hol-guard supply-chain scan
Connect optional cloud sync hol-guard connect

Understand a paused command

Inspect the command's classification and matching rules:

hol-guard command test 'rm -rf ./build'
hol-guard command explain 'git clean -ndx'
hol-guard command extensions command.git --json

command test and command explain inspect the command without executing it or creating an approval. Use hol-guard approvals to resolve a pending request and hol-guard receipts to review the recorded decision.

The Extension directory lists command coverage generated from the runtime registry. External contributions require explicit opt-in; required core protections remain enabled. To add coverage, follow the Extension contribution guide.

Check a package

hol-guard supply-chain sync
hol-guard supply-chain scan
hol-guard supply-chain explain minimist@1.2.5 --ecosystem npm

The package verdict includes the available advisory evidence and ecosystem coverage. See the get-started guide for package-manager interception and the remediation guide for handling false positives.

Plugin Scanner

This repository also ships plugin-scanner, a CLI for maintainers who want security and quality checks before publishing agent plugins, skills, and MCP integrations.

pipx install plugin-scanner
plugin-scanner scan .
plugin-scanner lint .
plugin-scanner verify .
Command Purpose
scan Security findings and a quality report across detected package surfaces.
lint Rule-level authoring feedback.
verify Install-surface and runtime readiness checks.
submit A submission artifact for one plugin package.
doctor Component diagnostics and troubleshooting bundles.

The scanner detects Codex, Claude Code, DeepSeek Harness, Gemini CLI, Kimi Code, and OpenCode package formats. Use plugin-scanner --list-ecosystems to list them or --ecosystem to select one. At a Codex marketplace root, it discovers local plugin entries automatically.

Checks cover manifests, secrets, MCP transport and command configuration, approval defaults, skills, dependency lockfiles, and GitHub Actions permissions. Optional Cisco integrations add skill and MCP analysis. Reports support text, JSON, Markdown, and SARIF.

plugin-scanner scan . --format sarif --output plugin-scanner.sarif
plugin-scanner scan . --fail-on-severity high

Quality grades use the checks applicable to each package. Trust scoring has separate provenance and weights; see the skill, MCP, and plugin scoring references.

GitHub Actions

Add the scanner to a plugin repository:

name: Plugin security
on: [push, pull_request]

permissions:
  contents: read

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
      - uses: hashgraph-online/ai-plugin-scanner-action@fdb49f9d85321a2ced2933301b395dd3c1ce9c8f # v1.2.631
        with:
          plugin_dir: "."
          min_score: 80
          fail_on_severity: high

See the action documentation for SARIF uploads, submission workflows, and machine-readable outputs. The action source is maintained in action/.

Optional Cisco analysis

The baseline packages work without Cisco dependencies. To add Cisco skill scanning, use Python 3.11 through 3.14 and install the extra in an isolated environment:

pipx install 'plugin-scanner[cisco]'

For Cisco MCP analysis, use the repository's Docker image or the cisco-mcp dependency group:

uv sync --extra dev --extra cisco --group cisco-mcp --python 3.13
uv run plugin-scanner scan . --cisco-skill-scan on --cisco-mcp-scan on

The published cisco extra provides skill scanning; the separate cisco-mcp group supplies the MCP scanner. Dependency versions and Python constraints are maintained in pyproject.toml.

Ecosystem Support

Ecosystem Detection surfaces
Codex .codex-plugin/plugin.json, marketplace.json, .agents/plugins/marketplace.json
Claude Code .claude-plugin/plugin.json, .claude-plugin/marketplace.json
DeepSeek Harness package.json with dsh.bundle, declared patches, and Cordis apply(ctx) exports
Gemini CLI gemini-extension.json, commands/**/*.toml
Kimi Code kimi.plugin.json, .kimi-plugin/plugin.json, declared skills, agents, commands, prompts, and MCP servers
OpenCode opencode.json, opencode.jsonc, .opencode/commands, .opencode/plugins

Use --ecosystem auto to detect supported packages in a repository, or select an ecosystem explicitly:

plugin-scanner scan ./plugins-repo --ecosystem claude
plugin-scanner scan ./dsh-plugin --ecosystem deepseek-harness

What The Scanner Checks

Category Coverage
Manifest validation Required fields, versions, declared paths, interface metadata, links, and assets.
Security Hardcoded secrets, unsafe MCP commands and transports, and risky approval defaults.
Operational security GitHub Actions permissions and pinned dependencies, privileged checkout patterns, Dependabot, and lockfiles.
Plugin packaging README and license files, skill frontmatter, ignore rules, and accidentally committed environment files.
Marketplace Manifest validity, local package discovery, and safe source paths.
Skill and MCP analysis Analyzer availability, findings, and analyzability from optional Cisco integrations.
Code quality Dynamic code execution and shell-injection patterns.

How Trust Scoring Works

Plugin Scanner reports a quality grade alongside trust provenance. Quality scores are normalized across applicable checks, so optional surfaces do not inflate a package's grade.

Skill trust uses the HCS-28 baseline adapter IDs, weights, and denominator rules. MCP and Codex plugin trust use explicit adapters, weights, and contribution modes documented in the local specifications:

CLI Usage

# Structured security report
plugin-scanner scan ./my-plugin --format json --profile public-marketplace

# Inspect authoring rules
plugin-scanner lint ./my-plugin --list-rules
plugin-scanner lint ./my-plugin --explain README_MISSING

# Apply supported mechanical fixes
plugin-scanner lint ./my-plugin --fix --profile strict-security

# Verify package readiness; --online permits live probes
plugin-scanner verify ./my-plugin --format json
plugin-scanner verify ./my-plugin --online --format text

# Generate a submission artifact for one plugin
plugin-scanner submit ./my-plugin --profile public-marketplace --attest dist/plugin-quality.json

# Collect component diagnostics
plugin-scanner doctor ./my-plugin --component mcp --bundle dist/doctor.zip

For a repository marketplace, scan, lint, verify, and doctor can target the root. submit targets one plugin package.

Codex Spec Alignment

The scanner recognizes Codex plugin manifests, interface metadata, declared assets, and marketplace packages:

  • Local manifest paths use ./ prefixes; lint --fix preserves or adds them.
  • .agents/plugins/marketplace.json is the preferred marketplace location, with root marketplace.json supported for compatibility.
  • Interface validation checks declared links and assets without requiring an undocumented type field.
  • verify --online checks HTTP remote reachability. Stdio server execution is skipped for manual review.

See the Codex plugin documentation and Model Context Protocol specification for upstream formats.

Config + Baseline Example

Configure the scanner in .plugin-scanner.toml:

[scanner]
profile = "public-marketplace"
baseline_file = "baseline.txt"
ignore_paths = ["tests/*", "fixtures/*"]

[rules]
disabled = ["README_MISSING"]
severity_overrides = { CODEXIGNORE_MISSING = "low" }

The GitHub Action requires trust_repository_policy: true before repository-owned configuration and baselines can change its verdict. Enable that option only for policy you intend the workflow to trust.

Report Formats

Format Use
text Terminal summaries with category totals and findings.
json Structured reports for scripts and integrations.
markdown Review-ready reports for pull requests and issues.
sarif GitHub code scanning and security automation.

GitHub Action

The AI Plugin Scanner Action supports security gates, SARIF uploads, submission intake, and registry payloads. Its source lives in action/, and the publication workflow distributes the action bundle.

The legacy HOL Codex Plugin Scanner Action remains available for existing workflows.

Plugin Author Submission Flow

Use submission_enabled: true to open or reuse a submission issue when a plugin meets the configured threshold. submission_token must have permission to create issues in the target submission repository. The action emits submission status and issue URLs as outputs.

See the action's input reference for submission_score_threshold, submission_token, and the target repository options.

Registry Payload For Plugin Ecosystem Automation

Set registry_payload_output to write a machine-readable payload for a registry or badge pipeline. The action also exposes score, grade, grade_label, max_severity, and findings_total outputs and can write a job summary.

The HOL Registry Broker plugin is an example of an agent plugin in the HOL Plugin Registry. Its registry listing provides current trust information.

Why HOL Guard

AI agents can run commands, install dependencies, read files, and call external tools within one session. HOL Guard reviews those actions at supported execution points and keeps the policy decision, approval request, and receipt together.

Use it for AI agent security on a developer machine, MCP security around connected tools, and supply-chain checks for packages and plugins. Teams can add Guard Cloud for shared approvals and policy management while retaining local protection.

Frequently Asked Questions

What is HOL Guard?

HOL Guard is open-source antivirus and runtime protection for AI agents. It reviews supported tool calls, shell commands, file access, and package operations for risks such as secret exposure, prompt injection, destructive actions, and malicious dependencies.

Does HOL Guard work without a cloud account?

Yes. Local protection, CLI commands, approvals, and receipts work without signing in. Guard Cloud is optional and adds synchronized evidence, team controls, and fleet visibility. See Local Guard vs. Guard Cloud for the feature boundary.

Which AI agents does HOL Guard support?

Guard includes adapters for Codex, Claude Code, GitHub Copilot CLI, Cursor, Cline, Gemini CLI, Grok, Hermes, Kimi Code, Pi, oh-my-pi, OpenClaw, OpenCode, Antigravity, and ZCode. The support matrix explains which events and enforcement paths each adapter supports.

What is the difference between HOL Guard and Plugin Scanner?

Install hol-guard to protect agent activity on your machine. Install plugin-scanner to inspect plugin packages and enforce security and quality checks in CI. This repository builds and publishes both distributions.

How does HOL Guard protect MCP servers?

Guard inspects MCP server configuration and reviews supported MCP tool calls through agent hooks and managed proxies. Plugin Scanner checks MCP configuration and HTTP remote reachability; optional Cisco MCP analysis adds static security findings.

Why did Guard pause my command?

The action may need approval under your active policy, or its tools or artifacts may have changed. Start with hol-guard approvals, inspect the command with hol-guard command explain '<command>', and use hol-guard receipts to review the recorded decision.

Documentation

Guide Contents
Get started Installation, manual setup, package protection, and common commands.
Agent support Integration coverage and approval behavior.
Architecture Runtime components and decision flow.
Policy specification GuardPolicy document format.
Policy recipes Configuration examples for common workflows.
Extensions Built-in command rules and contribution guidance.
Local vs. cloud Local capabilities and optional cloud services.
Troubleshooting Diagnosis and recovery.
Security Vulnerability reporting and disclosure policy.

Development

Clone the repository and install the development dependencies with uv:

git clone https://github.com/hashgraph-online/hol-guard.git
cd hol-guard
uv sync --extra dev
uv run ruff check src tests
uv run ruff format --check src tests
uv run pytest --tb=short
uv build

For optional Cisco coverage, use the dependency group command above. See CONTRIBUTING.md for contribution requirements and the testing matrix for integration tests.

Resources

Community

Maintained by Hashgraph Online.

License

Licensed under Apache-2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hol_guard-3.0.124.tar.gz (9.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

hol_guard-3.0.124-py3-none-win_amd64.whl (6.3 MB view details)

Uploaded Python 3Windows x86-64

hol_guard-3.0.124-py3-none-manylinux_2_17_x86_64.whl (6.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

hol_guard-3.0.124-py3-none-macosx_13_0_x86_64.whl (6.5 MB view details)

Uploaded Python 3macOS 13.0+ x86-64

hol_guard-3.0.124-py3-none-macosx_11_0_arm64.whl (6.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

hol_guard-3.0.124-py3-none-any.whl (4.4 MB view details)

Uploaded Python 3

File details

Details for the file hol_guard-3.0.124.tar.gz.

File metadata

  • Download URL: hol_guard-3.0.124.tar.gz
  • Upload date:
  • Size: 9.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for hol_guard-3.0.124.tar.gz
Algorithm Hash digest
SHA256 f30d177fe94e29ceaa7acf7f6e4ebdf1dca9696ee9e2c0722b3f8d3c3e98d5fa
MD5 5deca714dea0bd19386de0bd1a6ac1b0
BLAKE2b-256 fde204389b73e841a858661ec5cdf232a9837b99c7968896703eb91f70189d2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for hol_guard-3.0.124.tar.gz:

Publisher: publish.yml on hashgraph-online/hol-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hol_guard-3.0.124-py3-none-win_amd64.whl.

File metadata

  • Download URL: hol_guard-3.0.124-py3-none-win_amd64.whl
  • Upload date:
  • Size: 6.3 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for hol_guard-3.0.124-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b171bf345eab5821548c439b2bb250bd00e1c6105ea3e45f87c7c4c3eb28615a
MD5 026a30cc2e47d01a5952ce95f1617c1e
BLAKE2b-256 0fdbf86da07e14917d98375dbf64d1c2507331f026329aee5b479dff018797c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for hol_guard-3.0.124-py3-none-win_amd64.whl:

Publisher: publish.yml on hashgraph-online/hol-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hol_guard-3.0.124-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for hol_guard-3.0.124-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8211a7a202157acf187447eba6d616483985b516662132b7cb899c4d86d2cba0
MD5 b9315147d852a8999f662d52870f87c2
BLAKE2b-256 18549efd033413ef8491233a11c2e61845bab7611d3902cf22eafb110add4bc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for hol_guard-3.0.124-py3-none-manylinux_2_17_x86_64.whl:

Publisher: publish.yml on hashgraph-online/hol-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hol_guard-3.0.124-py3-none-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for hol_guard-3.0.124-py3-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7e65c8f88ff468081e6b18eb450b53e4aab23c2ed5c666dd4accb452748d981f
MD5 adbdfd780ccd61a3f115fcbbab446ce5
BLAKE2b-256 032ce6277b9d3424539da87989fa5f32b65d4126ec2075b305d7ab9476d6cea1

See more details on using hashes here.

Provenance

The following attestation bundles were made for hol_guard-3.0.124-py3-none-macosx_13_0_x86_64.whl:

Publisher: publish.yml on hashgraph-online/hol-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hol_guard-3.0.124-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hol_guard-3.0.124-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7bcbd272ba5bb8d9f3c03772da474dfa6d89aefeb75094dec6690a7849c1add4
MD5 2d4a8d196582e8d749039e4a8419dad6
BLAKE2b-256 7209b12f7c3b1367c99bf8a9507857f1837699313cb9aff84674b046d1bd65d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for hol_guard-3.0.124-py3-none-macosx_11_0_arm64.whl:

Publisher: publish.yml on hashgraph-online/hol-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hol_guard-3.0.124-py3-none-any.whl.

File metadata

  • Download URL: hol_guard-3.0.124-py3-none-any.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for hol_guard-3.0.124-py3-none-any.whl
Algorithm Hash digest
SHA256 f3510d301d4c4aed3e129a0f2edfb40513425d93337bcc978eeeebf113f15da6
MD5 3aa9f4fa517987e87f32ab93548e2470
BLAKE2b-256 7e978c8632fb052720b2107d86a22cb96b5997f3134ad57badf0320a6a138faf

See more details on using hashes here.

Provenance

The following attestation bundles were made for hol_guard-3.0.124-py3-none-any.whl:

Publisher: publish.yml on hashgraph-online/hol-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

3.0.159

6 files

3.0.158

6 files

3.0.157

6 files

3.0.156

6 files

3.0.155

6 files

3.0.154

6 files

3.0.153

6 files

3.0.152

6 files

3.0.151

6 files

3.0.150

6 files

3.0.149

6 files

3.0.148

6 files

3.0.147

6 files

3.0.146

6 files

3.0.145

6 files

3.0.144

6 files

3.0.143

6 files

3.0.142

6 files

3.0.141

6 files

3.0.140

6 files

3.0.139

6 files

3.0.138

6 files

3.0.137

6 files

3.0.136

6 files

3.0.135

6 files

3.0.134

6 files

3.0.133

6 files

3.0.132

6 files

3.0.131

6 files

3.0.130

6 files

3.0.129

6 files

3.0.128

6 files

3.0.127

6 files

3.0.126

6 files

3.0.125

6 files

This release

3.0.124 This release

6 files

3.0.123

6 files

3.0.122

6 files

3.0.121

6 files

3.0.120

6 files

3.0.119

6 files

3.0.118

6 files

3.0.117

6 files

3.0.116

6 files

3.0.115

6 files

3.0.114

6 files

3.0.113

6 files

3.0.112

6 files

3.0.111

6 files

3.0.110

6 files

3.0.109

6 files

3.0.108

6 files

3.0.107

6 files

3.0.106

6 files

3.0.105

6 files

3.0.104

6 files

3.0.103

6 files

3.0.102

6 files

3.0.101

6 files

3.0.100

6 files

3.0.99

6 files

3.0.98

6 files

3.0.97

6 files

3.0.96

6 files

3.0.95

6 files

3.0.94

6 files

3.0.93

6 files

3.0.92

6 files

3.0.91

6 files

3.0.90

6 files

3.0.89

6 files

3.0.88

6 files

3.0.87

6 files

3.0.86

6 files

3.0.82

6 files

3.0.81

6 files

3.0.80

6 files

3.0.79

6 files

3.0.78

6 files

3.0.77

6 files

3.0.76

6 files

3.0.75

6 files

3.0.74

6 files

3.0.73

6 files

3.0.72

6 files

3.0.71

6 files

3.0.70

6 files

3.0.69

6 files

3.0.68

6 files

3.0.67

6 files

3.0.66

6 files

3.0.65

6 files

3.0.64

6 files

3.0.63

6 files

3.0.62

6 files

3.0.61

6 files

3.0.60

6 files

3.0.59

6 files

3.0.58

6 files

3.0.57

6 files

3.0.56

6 files

3.0.55

6 files

3.0.54

6 files

3.0.53

6 files

3.0.52

6 files

3.0.51

6 files

3.0.50

6 files

3.0.49

6 files

3.0.48

6 files

3.0.47

6 files

3.0.46

6 files

3.0.45

6 files

3.0.44

6 files

3.0.43

6 files

3.0.42

6 files

3.0.41

6 files

3.0.40

6 files

3.0.39

6 files

3.0.38

6 files

3.0.37

6 files

3.0.36

6 files

3.0.35

6 files

3.0.34

6 files

3.0.33

6 files

3.0.32

6 files

3.0.31

6 files

3.0.30

6 files

3.0.29

6 files

3.0.28

6 files

3.0.27

6 files

3.0.26

6 files

3.0.25

6 files

3.0.24

6 files

3.0.23

6 files

3.0.22

6 files

3.0.21

6 files

3.0.20

6 files

3.0.19

6 files

3.0.18

6 files

3.0.17

6 files

3.0.16

6 files

3.0.15

6 files

3.0.14

6 files

3.0.13

6 files

3.0.12

6 files

3.0.11

6 files

3.0.10

6 files

3.0.9

6 files

3.0.8

6 files

3.0.7

6 files

3.0.6

2 files

3.0.5

2 files

3.0.4

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.2.128

2 files

2.2.126

2 files

2.2.119

2 files

2.2.118

2 files

2.2.117

2 files

2.2.115

2 files

2.2.107

2 files

2.2.88

2 files

2.2.87

2 files

2.2.0

2 files

2.1.0

2 files

2.0.1004

2 files

1.2.25

2 files

1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page