diff --git a/README.md b/README.md index 37ff29304..fb79b8a69 100644 --- a/README.md +++ b/README.md @@ -1,136 +1,138 @@ -
-

Probo - Open Source Compliance

+# Probo +[![License](https://img.shields.io/github/license/getprobo/probo)](LICENSE) +[![Build](https://img.shields.io/github/actions/workflow/status/getprobo/probo/make.yaml)](https://github.com/getprobo/probo/actions) [![Discord](https://img.shields.io/discord/1326589224811757568?color=7289da&label=Discord&logo=discord&logoColor=ffffff)](https://discord.gg/8qfdJYfvpY) -[![GitHub License](https://img.shields.io/github/license/getprobo/probo)](LICENSE) -![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/getprobo/probo/make.yaml) -
+**Open-source GRC platform for engineers.** -Probo is an open-source compliance platform built for startups that helps you -achieve SOC-2 compliance quickly and efficiently. Unlike traditional solutions, -Probo is designed to be accessible, transparent, and community-driven. +Probo is a self-hostable governance, risk, and compliance (GRC) platform built for engineering and security teams. It covers the full GRC lifecycle: risk identification, control tracking, vendor risk, data privacy, access reviews, audit programs, and document approval workflows. Every entity is accessible through a web console, a CLI, a [Model Context Protocol (MCP)](https://modelcontextprotocol.io) API, and a GraphQL API, so you can automate compliance work from code, scripts, or any LLM agent. -## 🚀 Getting Started -📖 [Official Documentation](https://www.getprobo.com/docs) -### Prerequisites +## Why Probo? -- Go 1.21+ -- Node.js 22+ -- Docker -- mkcert +- **AI-native by design.** 270+ MCP tools expose every entity and operation. Any MCP-compatible LLM agent can read and write your GRC data, draft policies, run risk assessments, and generate evidence packs. +- **Full GRC coverage.** Risk management, controls, vendor risk, data privacy (DPIA/TIA), access reviews, audit programs — not just SOC 2 checklists. +- **Multiple interfaces.** Web console, `prb` CLI (44+ command groups), MCP API, GraphQL, and an n8n community node for no-code automation. +- **Open source and self-hostable.** ISC licensed. Run it on your own infrastructure with Docker. +- **Audit-ready.** Policy-based RBAC, immutable audit logs, electronic document sign-off workflows, and evidence chains. -### Quick Start +## Capabilities -1. Clone the repository: +| Domain | Features | +|--------|----------| +| **Risk Management** | Risk register, inherent/residual scoring, treatment strategies (mitigate, accept, avoid, transfer), threat-based risk assessments | +| **Controls & Frameworks** | Control library with maturity levels, custom framework import/export, Statement of Applicability (SoA) | +| **Vendor / Third-Party Risk** | Vendor inventory, automated website risk assessment, DPA/BAA tracking, subprocessor discovery | +| **Data Privacy** | DPIA, Transfer Impact Assessments, processing activity records, data inventory, rights requests (SAR/erasure) | +| **Access Reviews** | Campaign management, per-entry access decisions, integration with SaaS, cloud infra, and source code sources | +| **Audit Programs** | Audit scoping, control mapping, finding tracking, report generation | +| **Evidence & Measures** | Evidence collection (files and URLs), implementation state tracking, task assignment | +| **Document Management** | Versioned documents, approval quorums, electronic signatures, PDF export, bulk operations | +| **Compliance Page** | Public compliance portal, NDA management, certification publishing, custom domain support | +| **Cookie & Consent** | Cookie banner management, tracker detection, consent records | - ```bash - git clone --recurse-submodules https://github.com/getprobo/probo.git - cd probo - ``` +## Interfaces -2. Install dependencies: +### Web console - ```bash - # Install Go dependencies - go mod download +The primary interface for day-to-day GRC work. Runs at `http://localhost:8080` in development. - # Install Node.js dependencies - npm ci - ``` +### CLI (`prb`) -3. Start the development environment: +A fully-featured command-line client for scripting, automation, and CI/CD integration. Covers all 44+ resource types available in the web console. - ```bash - # Start infrastructure services - make stack-up +```sh +# Authenticate +prb auth login - # Build the project - make build +# List open risks +prb risk list - # Generate the local dev config (writes cfg/dev.yaml) - make dev-config +# Create a measure and link evidence +prb measure create --name "MFA enforced on all production systems" +prb evidence create --measure --file screenshot.png - # Start the application using development settings - bin/probod -cfg-file cfg/dev.yaml - ``` - -The application will be available at: - -- Application: http://localhost:8080 - -### Testing Custom Domains - -To test the custom domains feature locally, add the CNAME target to your hosts file: - -```bash -# Add this line to /etc/hosts (macOS/Linux) or C:\Windows\System32\drivers\etc\hosts (Windows) -127.0.0.1 custom.getprobo.com +# Manage vendor compliance +prb thirdpartymgmt vendor list +prb thirdpartymgmt risk-assessment create --vendor ``` -This allows you to test custom trust center domains on your local machine. The generated `cfg/dev.yaml` sets the CNAME target via `custom-domains.cname-target`; change `CUSTOM_DOMAINS_CNAME_TARGET` before running `make dev-config` to override it. +Run `prb help` for the full command reference. -For detailed setup instructions, see our [Contributing Guide](CONTRIBUTING.md). +### MCP API -## 🏗️ Current Status +Probo exposes 270+ [MCP](https://modelcontextprotocol.io) tools covering every entity and operation in the platform. Any MCP-compatible LLM agent (Claude, Cursor, Continue, and others) can connect directly and interact with your compliance data. -Probo is in early development, focusing on building a solid foundation for -compliance management. +The full MCP specification is at [`pkg/server/api/mcp/v1/specification.yaml`](pkg/server/api/mcp/v1/specification.yaml). -## 🛠️ Tech Stack +### n8n node -### Backend +The [`@probo/n8n-nodes-probo`](packages/n8n-node/) community node brings Probo into n8n workflows for no-code automation of compliance tasks over the GraphQL API. -- [Go](https://go.dev/) - API server -- [PostgreSQL](https://www.postgresql.org/) - Data storage -- [GraphQL](https://graphql.org/) - API layer +## Quick Start -### Frontend +**Prerequisites** -- [React](https://react.dev/) with [TypeScript](https://www.typescriptlang.org/) -- [Relay](https://relay.dev/) - Data fetching -- [TailwindCSS](https://tailwindcss.com/) - Styling +| Tool | Version | +|------|---------| +| Go | 1.26+ | +| Node.js | 22+ | +| Docker | latest | +| mkcert | latest | -### Infrastructure +**Steps** -- [Docker](https://www.docker.com/) - Containerization -- [OpenTelemetry](https://opentelemetry.io/) - Observability -- [GitHub Actions](https://github.com/features/actions) - CI/CD +```sh +# 1. Clone with submodules +git clone --recurse-submodules https://github.com/getprobo/probo.git +cd probo -### Observability +# 2. Install dependencies +go mod download +npm ci -- Grafana - Metrics visualization -- Prometheus - Metrics collection -- Loki - Log aggregation -- Tempo - Distributed tracing +# 3. Start infrastructure services (PostgreSQL, object storage, etc.) +make stack-up -## 🤝 Contributing +# 4. Build +make build -We love contributions from our community! There are many ways to contribute: +# 5. Generate the local dev config +make dev-config -- 🌟 Star the repository to show your support -- 🐛 [Report bugs](https://github.com/getprobo/probo/issues/new) -- 💡 [Request features](https://github.com/getprobo/probo/issues/new) -- 🔧 Submit pull requests -- 📖 Improve documentation +# 6. Run the server +bin/probod -cfg-file cfg/dev.yaml +``` -Please read our [Contributing Guide](CONTRIBUTING.md) before making a pull -request. +The web console is available at `http://localhost:8080`. +See [CONTRIBUTING.md](CONTRIBUTING.md) for the full development environment walkthrough, including the frontend dev server and code generation steps. -## 📚 Documentation +## Tech Stack -- 📖 [Official Documentation](https://www.getprobo.com/docs) -- 💬 [Discord Community](https://discord.gg/8qfdJYfvpY) -- 📝 [Blog](https://www.getprobo.com/blog) +| Layer | Technologies | +|-------|-------------| +| Backend | Go, PostgreSQL | +| API | GraphQL, MCP | +| Frontend | React, TypeScript, Relay, TailwindCSS | +| Infrastructure | Docker, GitHub Actions | +| Observability | OpenTelemetry, Grafana, Prometheus, Loki, Tempo | -## 🌐 Community & Support +## Contributing -- Join our [Discord community](https://discord.gg/8qfdJYfvpY) -- Follow us on [Twitter](https://twitter.com/getprobo) -- Connect on [LinkedIn](https://www.linkedin.com/company/getprobo) -- Visit our [website](https://www.getprobo.com) +Contributions are welcome. Read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a pull request. All commits require a Developer Certificate of Origin (DCO) sign-off (`git commit -s`). No CLA required. -## 📄 License +To report a security vulnerability, email [security@getprobo.com](mailto:security@getprobo.com) rather than opening a public issue. See [SECURITY.md](SECURITY.md) for the full disclosure policy. -Probo is [MIT licensed](LICENSE). +## Community + +- [Discord](https://discord.gg/8qfdJYfvpY) - Get help, share feedback, and talk to the team +- [Documentation](https://www.getprobo.com/docs) +- [Blog](https://www.getprobo.com/blog) +- [Twitter / X](https://twitter.com/getprobo) +- [LinkedIn](https://www.linkedin.com/company/getprobo) +- [Website](https://www.getprobo.com) + +## License + +Probo is [ISC licensed](LICENSE).