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 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, Adobe, Google, Fastly, Plaid, Red Hat, and 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: -- The GitHub Authorization Team for implementing and contributing the MySQL datastore -- The Netflix Authorization Team for sponsoring and being a design partner for caveats -- The Equinix Metal Team for sponsoring our benchmarking hardware +- The GitHub Authorization Team for implementing and contributing the MySQL datastore +- The Netflix Authorization Team for sponsoring and being a design partner for caveats +- The Equinix Metal Team for sponsoring our benchmarking hardware