{"repo":"brewkits/Grant","free":true,"listed":false,"github":"https://github.com/brewkits/Grant","clone":"git clone https://github.com/brewkits/Grant.git","description":"Kotlin Multiplatform permission library for Android & iOS. No Fragment/Activity needed, ViewModel-first, Compose Multiplatform ready. Fixes Android dead clicks & iOS deadlocks.","language":"Kotlin","stars":101,"topics":["android","bluetooth","clean-architecture","compose-multiplatform","gps","ios","kmp","kotlin-multiplatform","mvvm","nfc"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"Grant Type-safe permission management for Kotlin Multiplatform — Android & iOS Documentation · Quick start · Why Grant? · Demo app --- Grant handles the permission edge cases that simple wrappers miss: silent deadlocks, Android process death, iOS Info.plist crashes, partial media/location access, and hardware service state. The API is logic-first — request permissions from a ViewModel or repository with no Activity, Fragment, or lifecycle binding. Requirements: Android 8.0+ (API 26) · iOS 13+ · Kotlin 2.x · JVM 17 Features - Logic-first API — works in ViewModels, repositories, or composables. No Activity or Fragment references, no lifecycle binding. - iOS framework isolation — Contacts, Calendar, Motion, Bluetooth, and background location live in opt-in modules. Frameworks you don't use are never linked, so Apple's static scanner never demands phantom NSUsageDescription keys. - iOS crash guard — validates Info.plist keys before requesting, turning the classic SIGABRT production crash into a clear error. - Android process-death recovery — a request in flight survives system-initiated process death via SavedStateHandle , with no timeouts. - Deadlock-free by construction — reentrant locking plus a withTimeout test policy that converts silent deadlocks into failing tests. - 19 built-in permissions — Camera, Gallery (incl. Android 14 partial access), Location (incl. \"Approximate\"-only), Bluetooth, Local Network (Android 17), and more — plus RawPermission for anything the library d","default_branch":null,"files":null,"tree":[],"storefront":"/r/brewkits","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/brewkits/Grant/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}