# NAC Authors

The following lists maintainers, primary developers, and all much-appreciated contributors to NAC in alphabetical order.
The specific contributions of individual authors can be obtained from the git history of the [official NAC repository](https://github.com/named-data/name-based-access-control).
If you would like to become a contributor to the official repository, please follow the recommendations in <https://github.com/named-data/.github/blob/main/CONTRIBUTING.md>.

* ***(Maintainer)*** Alexander Afanaysev <https://users.cs.fiu.edu/~afanasyev>
* Ashlesh Gawande <https://www.linkedin.com/in/agawande>
* Eric Newberry <https://ericnewberry.com>
* Davide Pesavento <https://github.com/Pesa>
* Prashanth Swaminathan
* Yingdi Yu <https://irl.cs.ucla.edu/~yingdi>
* Zhiyi Zhang <https://zhiyi-zhang.com>
