CloudKit provides RESTful JSON storage with optional OpenID and OAuth support, including OAuth Discovery. Stored entities are versioned. Services manage their own storage and do not require schema updates when models change. CloudKit is Rack middleware and as such can be used on its own or alongside other Rack-based applications or middleware components such as Rails, Merb or Sinatra. The CloudKit stack provides an optional OAuth Filter with support for OAuth Core 1.0 and OAuth Discovery. Share your APIs with other web services, desktop apps, Open Social gadgets and more. + An OpenID Filter supplies authentication for browser-based clients. Both the OAuth and OpenID Filters collaborate to simultaneously provide login screens and auth challenges in a single HTTP response. + Discoverable, schema-free, auto-versioned JSON storage tracks each version of each JSON document to allow progressive diff/merge with decentralized or occasionally connected clients.