  Data provenance is a valuable tool for protecting and troubleshooting
distributed systems. Careful design of the provenance components reduces the
impact on the design, implementation, and operation of the distributed system.
In this paper, we present Curator, a provenance management toolkit that can be
easily integrated with microservice-based systems and other modern distributed
systems. This paper describes the design of Curator and discusses how we have
used Curator to add provenance to distributed systems. We find that our
approach results in no changes to the design of these distributed systems and
minimal additional code and dependencies to manage. In addition, Curator uses
the same scalable infrastructure as the distributed system and can therefore
scale with the distributed system.
