Skip to content
View iamuhammadkhan's full-sized avatar

Organizations

@sentinelden

Block or report iamuhammadkhan

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
iamuhammadkhan/README.md

Muhammad Khan

Senior iOS & macOS engineer, SDKs, mobile security, on-device AI. Vancouver, BC.

I build the layers apps depend on but rarely write themselves: credential storage, binary and runtime integrity, on-device inference, and the SDK surfaces that make all of it a two-line integration. Twelve years in Swift and Objective-C, currently founder and lead engineer at Sentinel Den.


What I actually work on

  • Security SDKs at parity across platforms: twelve production SDKs, Swift and Kotlin, one protocol surface and one typed error model, shipped as code-signed binaries.
  • On-device AI under a privacy constraint: PII redaction across image, audio and text with compute routed between the Neural Engine, GPU and an INT4 CPU kernel. Nothing leaves the device.
  • LLM agent containment: sandboxing agents behind a typed tool registry, and measuring what actually gets through.
  • Binary analysis & release integrity: Mach-O, APK and DEX inspection, code signing, notarization, App Attest, TLS pinning with rotation.

Open source

Project What it does
xcprivacy-lint Validates PrivacyInfo.xcprivacy against the APIs your binary actually calls. Catches App Store privacy-manifest rejections before submission, not after. Swift, MIT.
machoscope Mach-O hardening inspector, PIE, stack canaries, runpath safety, code signing. Says when a finding is inferred rather than observed. Swift, MIT.
agent-injection-bench An open benchmark for prompt injection against tool-calling agents, published with its dataset. Deterministic scoring, no judge model. Python, MIT.
framework-size-report Measures what a framework actually costs an app, diffs it per pull request, and fails the build past budget. Swift, MIT.
swift6-migration-notes Swift 6 strict-concurrency migration cases from migrating twelve SDKs. Every fix compiles under Swift 6 mode, so none of it goes stale.
sentinelctl-action Audits an iOS or Android build in CI. Findings land in the GitHub Security tab as SARIF.

Writing

Long-form engineering posts and published root-cause analyses at sentinelden.com/blog: the debugging writeups I wish I'd found while I was stuck.


Stack

Swift 6 · Objective-C · Kotlin · TypeScript · Dart · C/C++ · Python

SwiftUI · UIKit · AppKit · Swift Concurrency · Combine · Core Data · iOS / macOS / visionOS · CryptoKit · Secure Enclave · App Attest · React Native · Flutter · Cloudflare Workers · XCTest / XCUITest · Fastlane · GitHub Actions


Contact

LinkedIn · sentinelden.com · imkjunejo@gmail.com

Open to senior and staff iOS / macOS roles across Canada, and to remote.

Pinned Loading

  1. MSAL-Sample-SwiftUI MSAL-Sample-SwiftUI Public

    An iOS sample in SwiftUI that authenticates Azure AD B2C users and calls an API using OAuth 2.0

    Swift

  2. sentinelden/agent-injection-bench sentinelden/agent-injection-bench Public

    An open benchmark for prompt injection against tool-calling agents, published with its dataset.

    Python

  3. sentinelden/framework-size-report sentinelden/framework-size-report Public

    Measure what your framework costs an app, diff it per PR, and fail the build when it grows past budget.

    Swift

  4. sentinelden/machoscope sentinelden/machoscope Public

    Inspect a Mach-O binary's hardening posture. Swift-native, no Python.

    Swift

  5. sentinelden/swift6-migration-notes sentinelden/swift6-migration-notes Public

    Real Swift 6 strict-concurrency migration cases. Every fix compiles under Swift 6 language mode, so none of it goes stale.

    Swift

  6. sentinelden/xcprivacy-lint sentinelden/xcprivacy-lint Public

    Validate iOS PrivacyInfo.xcprivacy manifests against the API surface a binary actually touches

    Swift