This document summarizes Signal's use of Cassandra for its identity service. It discusses how Signal uses wide rows to store profile data and connect customer identities across channels. It describes the profile data and index tables which use a hash partition on user IDs. The identity graph table connects multiple customer profiles into a single identity. The document also provides recommendations for managing wide rows and discusses lessons learned from Signal's Cassandra deployment, including compaction tuning, caching, mixing reads/writes, and ring migrations.