seedwing-io / seedwing-policy

A functional type system for policy inspection, audit and enforcement.
https://www.seedwing.io
Apache License 2.0
12 stars 15 forks source link

Seedwing Policy

CI crates.io docs.rs

A functional type system for implementing policy inspection, audit and enforcement.

Seedwing Policy consists of components that may be combined or used standalone as part of a secure software supply chain:

Seedwing Overview

With Seedwing Policy, you can:

Additionally, Seedwing provides detailed explanations of the decision process.

The Seedwing engine includes core patterns to assist in policy authoring.

Some examples include:

All the policies can be centrally managed in a server, or built in as part of a custom application.

Seedwing Policy is primarily concerned with software supply chain, but may be used in other contexts as well such as authorization policies for Apache Kafka.

See the documentation for more information.

Usage

To use the policy engine, download the latest released swio binary for your platform, or use one of container images.

You can also try a hosted version at https://playground.seedwing.io.

To evaluate policies:

swio eval -p <policy dir> -n mypolicy::pattern -i input.json

To run the HTTP server (point your browser to the http://localhost:8080 to view the console):

swio serve -p <policy dir>

To benchmark policies:

swio bench -p <policy dir> -n mypolicy::pattern -i input.json -c 1000

Minimum supported Rust version (MSRV)

Seedwing Policy is guaranteed to compile on the latest stable Rust version at the time of release. It might compile with older versions.

Development setup

See CONTRIBUTING.md

Releasing

The release process is documented in RELEASE.md.

License

Apache License, Version 2.0 (LICENSE)