diff --git a/README.md b/README.md index 68395c8ecd..513fe27dfd 100644 --- a/README.md +++ b/README.md @@ -33,13 +33,34 @@

## What is SpiceDB? +spicedb diagram +spicedb diagram -SpiceDB is a graph database purpose-built for storing and evaluating access control data. +SpiceDB is the most mature open source project inspired by Google's internal authorization system: [Zanzibar]. -As of 2021, [broken access control became the #1 threat to the web][owasp]. With SpiceDB, developers finally have the solution to stopping this threat the same way as the hyperscalers. +As of 2021, [broken access control became the #1 threat to web security according to OWASP][owasp]. +With SpiceDB, platform teams are armed with the same techniques for stopping this threat that the hyperscale tech companies have been doing for years behind closed doors. + +Similar to a relational database, developers define a schema, write data to the database, and query that data in various ways. +Unlike a relational databases that use general-purpose SQL, SpiceDB exposes a gRPC API optimized specifically for authorizing actions in your systems. + +Because SpiceDB self-contains data and logic for used for authorization, it is often ran as a centralized service shared across product suites and microservice architectures. + +SpiceDB is focused purely on *authorization* and is designed to be fully agnostic to *authentication* solutions/identity providers. [owasp]: https://owasp.org/Top10/A01_2021-Broken_Access_Control/ +### What is Google Zanzibar? + +In 2019, Google released the paper "[Zanzibar: Google's Consistent, Global Authorization System][zanzibar]" providing the original inspiration for SpiceDB. +The paper presents the design, implementation, and deployment of, Zanzibar, Google's internal system for storing and evaluating access control lists. +Originally designed for [Google+ Circles][circles], Zanzibar now sits at the core Google's entire product suite (Calendar, Drive, Maps, Photos, YouTube) and powers the Google Cloud IAM service. + +While SpiceDB has gone on to innovate well beyond the functionality outlined in the paper, development of SpiceDB aims to always remain faithful to the paper's values and goals. + +[zanzibar]: https://authzed.com/zanzibar +[circles]: https://en.wikipedia.org/wiki/Google+#Circles + ### Why SpiceDB? - [**World-class engineering**][about]: painstakingly built by experts that pioneered the cloud-native ecosystem @@ -58,37 +79,35 @@ As of 2021, [broken access control became the #1 threat to the web][owasp]. With [reverse-indexes]: https://authzed.com/docs/spicedb/getting-started/faq#what-is-a-reverse-index [consistency]: https://authzed.com/docs/spicedb/concepts/consistency -## Joining the Community +### Who uses SpiceDB? -SpiceDB is a community project where everyone is invited to participate and [feel welcomed]. -While the project has a technical goal, participation is not restricted to those with code contributions. +SpiceDB is a powerful tool in a variety of domains and in organizations of all sizes; we've chosen to highlight a few interesting community members: -[feel welcomed]: CODE-OF-CONDUCT.md +- [IBM's AI Data & Model Factory Platform](https://youtu.be/4K2a9HcRhXA) +- [Red Hat's Insights Platform](https://www.redhat.com/en/technologies/management/insights) +- [GitPod](https://github.com/gitpod-io/gitpod/issues/15632) +- [TubiTV China (中文)](https://zhuanlan.zhihu.com/p/685603356) +- [DMM Online Salon (日本語)](https://inside.dmm.com/articles/salon-datebase-migration-challenges/) -### Learn +Beyond the community, you can also read [customer stories][stories] for commercial usage of SpiceDB. -- Ask questions via [GitHub Discussions] or our [Community Discord] -- Read [blog posts] from the Authzed team describing the project and major announcements -- Watch our [YouTube videos] about SpiceDB, modeling schemas, leveraging CNCF projects, and more -- Explore the [SpiceDB Awesome List] that enumerates official and third-party projects built by the community -- Reference [community examples] for demo environments, integration testing, CI pipelines, and writing schemas +[stories]: https://authzed.com/customers -[GitHub Discussions]: https://github.com/orgs/authzed/discussions/new?category=q-a -[Community Discord]: https://authzed.com/discord -[blog posts]: https://authzed.com/blog -[SpiceDB Awesome List]: https://github.com/authzed/awesome-spicedb -[YouTube videos]: https://www.youtube.com/@authzed -[community examples]: https://github.com/authzed/examples +## Joining the Community -### Contribute +Join our fellow contributors from companies such as github logo GitHub, adobe logo Adobe, google logo Google, fastly logo Fastly, plaid logo Plaid, red hat logo Red Hat, and reddit logo Reddit. + +SpiceDB is a community project where everyone is invited to participate and [feel welcomed]. +While the project has a technical goal, participation is not restricted to those with code contributions. [CONTRIBUTING.md] documents communication, contribution flow, legal requirements, and common tasks when contributing to the project. You can find issues by priority: [Urgent], [High], [Medium], [Low], [Maybe]. There are also [good first issues]. -Our [documentation website] is also open source if you'd like to clarify anything you find confusing. +Our [documentation] is also [open source][oss-docs] if you'd like to clarify anything you find confusing. +[feel welcomed]: CODE-OF-CONDUCT.md [CONTRIBUTING.md]: CONTRIBUTING.md [Urgent]: https://github.com/authzed/spicedb/labels/priority%2F0%20urgent [High]: https://github.com/authzed/spicedb/labels/priority%2F1%20high @@ -96,10 +115,26 @@ Our [documentation website] is also open source if you'd like to clarify anythin [Low]: https://github.com/authzed/spicedb/labels/priority%2F3%20low [Maybe]: https://github.com/authzed/spicedb/labels/priority%2F4%20maybe [good first issues]: https://github.com/authzed/spicedb/labels/hint%2Fgood%20first%20issue -[documentation website]: https://github.com/authzed/docs +[documentation]: https://authzed.com/docs +[oss-docs]: https://github.com/authzed/docs ## Getting Started +### Familiarizing yourself with our learning materials + +- Ask questions via [GitHub Discussions] or our [Community Discord] +- Read [blog posts] from the Authzed team describing the project and major announcements +- Watch our [YouTube videos] about SpiceDB, modeling schemas, leveraging CNCF projects, and more +- Explore the [SpiceDB Awesome List] that enumerates official and third-party projects built by the community +- Reference [community examples] for demo environments, integration testing, CI pipelines, and writing schemas + +[GitHub Discussions]: https://github.com/orgs/authzed/discussions/new?category=q-a +[Community Discord]: https://authzed.com/discord +[blog posts]: https://authzed.com/blog +[SpiceDB Awesome List]: https://github.com/authzed/awesome-spicedb +[YouTube videos]: https://www.youtube.com/@authzed +[community examples]: https://github.com/authzed/examples + ### Installing the binary Binary releases are available for Linux, macOS, and Windows on AMD64 and ARM64 architectures. @@ -221,6 +256,6 @@ We appreciate all contributions, large and small, and would like to thank all th In addition, we'd like to highlight a few notable contributions: -- github logo The GitHub Authorization Team for implementing and contributing the MySQL datastore -- netflix logo The Netflix Authorization Team for sponsoring and being a design partner for caveats -- equinix logo The Equinix Metal Team for sponsoring our benchmarking hardware +- github logo The GitHub Authorization Team for implementing and contributing the MySQL datastore +- netflix logo The Netflix Authorization Team for sponsoring and being a design partner for caveats +- equinix logo The Equinix Metal Team for sponsoring our benchmarking hardware