Who We Are; What We Do; Where We’re Going
Magnet Forensics is a global leader in the development of digital investigative software that acquires, analyzes, and shares evidence from computers, smartphones, tablets, and IoT-related devices. We are continually innovating so our customers can deploy advanced and effective tools to protect their companies, communities, and countries.
Serving thousands of customers globally, our solutions are playing a crucial role in modernizing digital investigations, helping investigators fight crime, protect assets, and guard national security.
With employees based around the world, Magnet Forensics has been expanding our global presence. As a part of Magnet Forensics, you can expect to make a difference in the world, no matter what role you play. You’ll be supported through learning and development, not to mention an incredible team with unbelievable talent and integrity.
If you think you would be the right person to join our team working towards this goal, we would love to hear from you!
Role Overview
The AppLogic Team owns the logic and interfaces that sit at the core of the Graykey platform. We’re the systems engineering layer behind the Graykey product. We make it work reliably across many devices, mobile operating systems, and product surfaces.
The work spans multiple platforms. Day to day, this role will spend significant time on iOS, but you should also expect to work on Android and on the Graykey product itself. We don’t silo people by platform. Senior Engineers on this team are expected to follow problems wherever they go in the stack.
This is a Senior, small, but mighty, hands-on Team. The work is technically deep and the platform knowledge required is real. You can’t build this kind of integration without understanding how mobile operating systems actually work underneath the API surface.
Mobile platforms change with every major release, and parts of what we do don’t exist in any public documentation. You need to be comfortable working in that kind of ambiguity.
NOTE: Candidate must reside in Canada.
What You'll Do
Lead design and implementation of complex mobile platform integrations across the Graykey product.
Debug hard problems that span multiple layers: Python, native C/C++, and mobile OS userspace and kernel behavior.
Own root cause analysis on issues that require reading crash dumps, kernel panics, and disassembled binaries.
Drive implementation from design through system integration, testing, and production.
Mentor engineers on the team and help raise the technical bar through code review.
Collaborate with firmware, product, and other engineering teams across the company.
What We're Looking For
iOS internals (!!!). This is the hard requirement. You need to have spent real time here, not just read about it:
A-series/M-series SoC architecture: AP/SEP boundary, iBoot, DFU, restore mode.
XNU kernel fundamentals: IOKit, kernel extensions, and how to actually debug at that layer.
Memory protection: ASLR, PAC, and PPL.
Code signing, entitlements, and the full trust chain.
Sandboxing, container isolation, and platform-level IPC.
Secure Enclave: its role in key management and where its boundaries are.
Data protection classes, file system encryption, and key derivation.
Keychain internals: what’s happening underneath the API.
iOS internals is a specialty in its own right. Android or other mobile platform experience is useful because the role also works on Android and on the Graykey product directly, but it does not substitute for iOS depth. Plan to bring iOS internals and pick up the rest on the job, not the other way around.
You DON’T need to be an Exploit Developer or Vulnerability Researcher. You DO need to read iOS internals fluently enough to integrate work into a product that runs across many device generations and iOS versions without breaking.
Python (!!!). Critical, not optional. We use Python extensively and at production scale. This isn’t scripting or tooling. You need to be strong here: type systems, packaging, performance, and writing code that doesn’t get rewritten by the next person to touch it. Python is load-bearing in this stack and weak Python in this role causes real problems.
Objective-C, C/C++, Systems programming, memory management, and low-level interface work. Meaningful time will be spent here.
General
8+ years of professional engineering experience, with at least 4 years working at the iOS platform layer.
Experience with cross-compilation toolchains and embedded build systems targeting ARM64.
Comfortable debugging remote devices and reading crash dumps and core files.
Strong with git and senior-level code review workflows.
Nice To Have
Reading-level reverse engineering skills with IDA Pro, Ghidra, or Binary Ninja, enough to make sense of stripped binaries you didn’t write.
Objective-C runtime internals: method swizzling, dyld, class-dump.
Android internals: SELinux, Binder IPC, TrustZone, dm-verity.
Embedded systems background: real-time operating systems, kernel programming on resource-constrained hardware.
Background in digital forensics, incident response, or law enforcement tooling.
Compensation & Benefits
The Compensation range is for the primary location for which the job is posted. Please note that the actual compensation may vary depending on location and job-related factors such as qualifications, experience, knowledge and skills. If you are applying for this role outside of the primary location and you are selected for an interview, the Talent Acquisition Partner can share more information with you. If the compensation structure for the role includes an incentive component (i.e. most Sales roles) the range below represents total target compensation (TTC) (base salary + variable).
$130,000 - $180,000 (CAD) a year
Salary range (min - max)
Position Type: New Vacancy