About
The Mobile Software Developer will design, develop, secure, and maintain Ontario's Digital Credential Wallet for iOS and Android, ensuring compliance with verifiable credentials standards, digital identity frameworks, and modern mobile security best practices. The role requires deep expertise in native and cross‑platform mobile development, digital wallets, and decentralized identity technologies, as well as strong collaboration within agile delivery teams.
Core Responsibilities:
Design, implement, test, and deploy production-grade mobile applications for iOS and Android that meet Ontario Digital Credential and Digital Identity requirements.
Maintain and extend an open, interoperable Digital Credential Wallet, integrating components from other jurisdictions and open-source communities while managing technical debt.
Implement secure credential issuance, storage, presentation, and verification flows using W3C Verifiable Credentials and related protocols.
Troubleshoot, diagnose, and resolve mobile application issues with a focus on performance, reliability, and security.
Participate in Agile / Scrum ceremonies, including sprint planning, daily stand-ups, backlog refinement, and retrospectives.
Support integration with external systems and platforms, including identity providers, verifiers, and backend ministry services.
Apply security patches, OS upgrades, and cryptographic updates in a timely manner.
Produce and maintain high-quality technical documentation, architecture diagrams, and developer guides to support long-term maintainability.
Implement and maintain privacy‑preserving credential flows using SD‑JWT, SD‑JWT‑VC, and ISO/IEC mdoc (mDL and other doctypes), including selective disclosure and holder binding where appropriate.
Design presentation flows that support in‑person proximity and remote/over‑the‑Internet verification for mDL/mdoc, aligned with ISO/IEC 18013‑5 and 18013‑7.
Integrate token/credential status checks using IETF Token Status List (TSL), and where applicable map to W3C VC Status List for web‑based ecosystems.
Experience and Skill Set Requirements:
Skill Set Requirements:
Mobile development:
Experience working with commercial grade mobile iOS and Android applications using native languages (Objective-C / Swift, Xcode or Java with Android Studio).
Experience with iOS or Android. Strong experience developing multithreaded applications.
Experience with mobile operation system (OS) architecture in areas of user interface (UI), memory management, data storage, application management by OS, and cybersecurity.
Experience with UI development of mobile application (scalable for different screen resolutions and localization).
Experience working with continuous integration.
Must have apps published in either the Apple or Google store.
Experience in developing Native and Hybrid apps with iOS/Swift, Android/Java, React Native/TypeScript.
Experience with Apple and Google wallets, or custom digital wallets, such as add passes/credentials to a wallet.
Knowledge of using Secure Enclave and/or TrustZone.
Experience in developing mobile apps that use local on device capabilities, such as camera, Bluetooth, microphone, accelerometer, etc.
Working with Open-Source community and Open-Source products
Digital Trust and Verifiable Credentials:
Demonstrated experience with:
Developing mobile solutions with Open Wallet Foundation products and solutions, including Credo and Bifold wallet applications.
Familiarity and experience developing mobile solutions with Open Wallet Foundation Aca-Py, Hyperledger Indy technology stack will be considered.
Aries Framework JavaScript (AFJ) / Credo.
SD-JWT, IETF Status Lists, mDOC, JSON-LD, Anoncreds (including Aries Interoperability Profiles (AIP) 1 and 2)
Developing in React Native.
JavaScript, HTML5, CSS3.
JavaScript frameworks such as , , & Vue and TypeScript.
Developing responsive design & progressive web applications.
Developing/working with APIs and API Gateways.
Familiarity with JSON & REST APIs.
Experience working with continuous integration.
Experience with OpenID for Verifiable Credential Issuance (OID4VCI 1.0) and OpenID for Verifiable Presentations (OID4VP); ability to issue both SD‑JWT‑VC and ISO mdoc credentials per high‑assurance interop profiles.
Knowledge with ISO/IEC 18013‑5 (mdoc/mDL) and 18013‑7 (online presentation); familiarity with 23220‑4 operational protocols is an asset.
Experience with W3C verifiable credential data model, and decentralized identifiers (DIDs), X.509 certificates (RFC 5280), zero-knowledge proofs, SD-JWT, JWT, JSON-LD
Digital wallet development experience in native and/or hybrid app; hardware level encryption (HLE), use of secure elements on mobile devices (e.g., Apple Secure Enclave).
Experience with JOSE/COSE, Oauth2 JWT/JWS, ECDSA/EdDSA, ECC/RSA, TLS, PKI, device‑bound keys for holder binding (e.g., SD‑JWT+KB (key binding) and mdoc transaction signing).
, Python
Ensure compliance with global digital identity standards and/or specifications such as W3C Verifiable Credentials, IETF, OIDF, PCTF, NIST, and eIDAS(ARF).
Back End:
Experience working with Java, NodeJS and RESTful APIs.
SOAP Web Service development connecting to backend Ministries.
API management tools such as IBM API Connect or equivalent.
Familiarity with Docker and Kubernetes containers and cloud-based environments.
Working experience in distributed, event-driven systems.
Familiarity with PKI security.
Experience working with messaging systems.
Experience working with Shell Scripts.
Experience working with continuous integration.
Java/Sprint Framework, , Python/Django.
Team Contributor and Agile Experience:
Experienced in developing and updating technical documentation.
Experienced with Agile methodologies and related ceremonies, and tools.
Self-starter and motivated individual.
Ability to analyze and break down complex problems.
Effective at managing time, schedule, and commitments in a fast-paced environment with multiple competing priorities.
Experienced with testing, test case development and related documentations.
User focused/centered designs to solve real problems for users.
Languages
- English
Notice for Users
This job comes from a TieTalent partner platform. Click "Apply Now" to submit your application directly on their site.