This document discusses the new runtime permissions model in Android Marshmallow. Key points include: - Apps now request permissions at runtime when the associated feature is needed rather than during install. This improves privacy and reduces permission friction. - Legacy apps still request permissions at install but users can revoke permissions. Apps won't crash without permissions but may return no data. - Best practices include only requesting minimal permissions upfront and checking permissions before each use rather than caching results.