 OK, so welcome, everyone. My name is Klesio Varjo. I work for the Government Bridge Columbia. I'm the product owner and product manager for the BC Wallet app. And today we're going to talk about our journey from BC Wallet app, which has been powered by Hyperledger areas by FODE. And also here with Akif. Yeah, so my name's Akif. I work with the BC government on behalf of Cortex Systems. So I've been helping with the BC Wallet over the last little while. I'm excited for this talk. I'm going to start a little bit talking about what we do, BC Identity Interest Program. So we have a big vision, providing British Columbia with choice and security online. So when we're talking about participating in a digital economy or participating both for business or for fun, for pleasure in a day-to-day routine, our vision to enable residents of BC to be able to participate in a secure way and also have options. It's not about replacing everything with digital identity. It's about adding another channel to facilitate that transaction online. Our mission is to advance digital trust capabilities and build the confidence required to foster BC growing digital economy. People rely on government issues ID on their daily basis that people want to do bigger things online, especially now since we've been through COVID. It has been very visible to us that people do want to interact with the government particularly and do more interactions online. And also have the cyber threats are scaling, escalating. We have seen more and more cyber threats and security that has been expanding and becoming more and more apparent. So we just need to get ourselves in front of all that. And we believe the digital identity and very fiber credential is a way for us to enable a population to play work online and interact in a safe manner. All right, well, trust over IP is really what enables this entire ecosystem of digital credentials. In order to understand what trust over IP is, we need to consider the way credentials are used in the real world today. So verifiers typically need to make informed decisions about individuals, such as whether they should allowed to board a plane, whether they can enter a building, whether they can open a bank account. And many of these decisions are based on individuals providing information about themselves in the form of held credentials. These information exchanges typically occur in a peer to peer fashion without a central intermediary to act on behalf of the individuals. The trust over IP framework operates on these same principles as the physical world, but at the scale and distributed nature of the digital world. Digital credentials are the tools for transferring trust from verifiers, from issuers to verifiers. And trust is established by combining cryptographic verifiability at the machine layer with human accountability in the real world. So let's take a look at how this works. So first an issuer, which would be some sort of government issuing agency, it writes a decentralized identifier. It's just a key and a public key to a verifiable data registry. So think of the date and the public key as any cryptographic material that can be used to verify the credentials that they issue. A VDR or verifiable data registry can be any sufficiently trusted public utility that's accessible to a verifier. And this can be a blockchain or it can be a distributed database. So the issuer will use its private, it will publish the public key onto the VDR and it will use its private key to digitally sign verifiable credentials and issues that to a qualified holder to store it in their digital wallet. The issuance process in this case is peer-to-peer. It does not involve the VDR at all. There's no personal data that's ever stored on the ledgers. When a verifier requests a digital proof or one or more credentials from the holder, if the holder consents to it, the holder's wallet generates and returns a cryptographic proof to the verifier. Since proofs contain the issuers did, the verifier can use it to read the public key off the ledger and can use it to validate the credentials that are sent from the issuer. So this is where the trust is created. So the verifier uses the issuer's public key to verify that the proofs are valid and that the requested claims from the digital credentials have not been tampered with. So verifiable credentials, given what Kiffin just said, so verifiable credentials proves who issued that credential based on that data information. I know with a guarantee without, I can verify the authenticity of who issued that credential. With that credential is issued to a wallet or to a subject and in a verifiable credential as well, you, through that cryptographic material, it guarantees that has been issued by that particular individual or wallet holder. The claims are unchanged. Again, through that cryptographic signature, you can have authenticity and guarantee that that materials has not been changed along the line and only it has been provided as the issuer has been approved and verified. And also the claims has not been revoked. I could potentially issue a credential to just about anything and to about everyone, but doesn't necessarily mean that those credentials are gonna be valid or true forever. Some things change. Maybe we made a mistake through our process and you need to update your information. Credentials cannot be updated through that cryptographic signature, but they can be revoked and a new one is then issued. So we need a process to control the credentials that are no longer valid. A revocation process is a process which the issuer can unilaterally make the decision to tell and signal the verifiers, hey, this credential is no longer valid, you should not accept. I'm gonna say if this is on should not, there are some possible valid use cases where a revoked or expired credential might be useful in the verifiable credential ecosystem, but that's not really a common use case, but from when a credential is revoked is a signal for the verifier, please don't accept this anymore for a number of the reasons. I'm gonna briefly highlight a little bit of what we're doing. So right now we have a limited production use case that is in production right now. BC Wallet app, it's available through the app stores, it's available for anybody who wants to download, but there's not services that has been enabled yet. In our limited production use case, we have been interacting with the loss of sight of BC, where we are working towards issuing a very viable credential for lawyers in BC. It's a way for lawyers to digitally prove that they are an active member of the loss of sight of BC in a good standing and they are authorized to practice law in BC. In this case that we are providing right now, it's a joint effort in partnership with the court services branch, where lawyers can use the digital credential, the digital lawyer credential, to prove that they are a lawyer in good standing with a loss of sight of BC and have access to court materials and sensitive documents. So just provide a high level identity assurance. Our credentials right now within, we have two credentials. One of them that I mentioned is the one provided by loss of sight of BC. They provide the identity that verifies that a lawyer is a lawyer in a good standing. And we also have another credential that we are, right now we're calling a person credential. That is a person credential that is based on our BC services card program and identity management program from government, from government of BC. And that information we are integrating with BC services card which is a holder app for another digital identity mechanism for out that you can use to log on into other government services. We are combining all those to in a control and limited manner, we're able to exercise and roll out this to our use case. So from a lawyer perspective, they go into their loss of sighting main portal and they're able to manage to get their own lawyer credential. They're able to issue themselves a credential based on loss of sighting system records. As well as they're able to revoke, if they get a new phone or if they lost a phone, they're able to reissue themself a credential or revoke a credential. So it's a self, it's a self service from loss of sight of BC. That there's also use case where loss of sight of BC could unilaterally make a decision if a lawyer has been, is no longer allowed to practice law, it's not in good standing. Loss of sight of BC can unilaterally make a decision to revoke that credential. And that for us solve a lot of problems within the card services branch. One of the reasons that, one of the biggest problem for us is we have this legislative entity who are assigned the authority to regulate the profession. But there's not a lot of back and forth between the government and their authority about like a list of lawyers who are the active lawyers in BC. And that list is quite dynamic. So for us, we're able to, card services branch is able to quickly and with a high level assurance and trust, validate that yes, you are a lawyer in fact and you are authorized and you are in good standing lawyer and without sharing any information. It's only the lawyer who are sharing their own information. There is no third party involved. It's not the loss of sight of BC disclosing that information to card service branch. It's the lawyers themselves disclosing that information about themselves to card services branch. Refer to the lawyers, they're using the BC wallet app and we call that the holder app. They're playing the holder. They're receiving credential, they're holding credentials. And then we have the governor of BC through card services branch where they provide access to court materials and in this trust triangle, they're acting as a verifier. So they're verifying that you have your two piece of ID or person credential and your lawyer member card from the loss of sight of BC. And they can do that validation. So if either one of those credential for some reason get invalidated or revoked, the lawyer automatically no longer have access. And the process of revoking access right now, it's very time consuming and it takes time for that material to propagate. You have a physical card that the lawyer presents and sometimes it can go to a system and they're still valid. So with the digital credential, they have that very agile way of knowing with a high level assurance that that's a lawyer who is in a good standing with the loss of sight of BC. And I'm gonna talk a little bit about the motivation since we're talking about BC Wallet app and hyperledger areas by fold, a little bit of a journey. About two years ago, maybe a little bit more, we were looking for what is a user friendly wallet for the verifiable credential ecosystem. We did a lot of research and we looked around. There is a few options out there, but through user research, we found out that it was fairly complicated and fairly complex for the average user to understand and use a verifiable credential. So we're important into this journey and how can we make verifiable credential? We trust in the technology, we embrace this distributed ecosystem, but we need to bring our users along. If nobody wants, if nobody can use this credential in a very user friendly way, this model is not gonna work. So we wanted a way to buy, to get buy-in from users. So for us, it's very important that the BC Wallet app and areas by fold being very, very user friendly. Someone that is can not necessarily give a joke around, like my mom, my dad, they're able to use that verifiable credential fairly easily in a day-to-day routine. So we had two options. We could start from scratch and make our own wallet as we look around. There was some code under Hyperledger Foundation about areas by fold. We took a look and we decided how about, it was a little bit abandoned back in the day, about two years ago or just starting, and we decided to look into that code and we sort of adopt that. It's like, okay, let's work towards that open source community. It needs some love, it needs some effort, some work needs to be done that, but that's something that we can work with. And then we decided that we're gonna be leveraging the work that has already been done. There was a lot of good work there and you just need a little bit of more active development and we'll get to a point where it could be fairly user friendly. So we're very, we're very committed and we are both a key for our, we are also maintaining those areas by fold, which in GitHub is called areas mobile, agent, react native. It's a bit of a mouthful. It's a very long name, but if you look for by fold, you'll find that. It's a nickname. And then there was another question for us is we could have an option to simply fork that code and thank you, we're gonna fork the code, make our own changes and thank you very much for the code, bye, see you later. We talked about it and we thought that it was not a good way to build community. We want you to really promote the idea of open source and open source is not just about having their code available. It's about having an open development, having something that other organizations or even other government entities could potentially use. And we have been working with other organizations throughout the world, including other jurisdictions in Canada, but also all over the world. So we have made a decision to again, adopt areas by fold. We made some tweaks and we made some changes to enable areas by fold from a product to work more of a framework where you could get place parts of it and customize a lot of it. So from my perspective, we have our own terms and condition of the app. We have our own onboarding process of how we wanted your users to experience the app, some instructions. And we also needed some integration on how to obtain that person credential. So that integration with our current identity manager system, that is custom code to BC wallet, but most of the code is in areas by fold. So if you want a very fabled credential wallet, areas by fold, it's production ready. It's there, you can customize and put it on callers. Sometimes I joke around that if you don't like the Xbox theme that is black and green, you can always get in blue because they're fairly similar. I would say the 99% of the code is areas by fold, is very little customizations that we are adding and we try as much as possible to contribute and work an upstream project. So all new features that we deem and we prioritize through a product management life cycle, we always prioritize and bring that onboard and release that to the open source community as well. All right, so let's just quickly talk about the building blocks for BC wallet. So as Klessio mentioned, by-fold initially started off as its own of an application on its own, it was its own wallet implementation. And the team restructured the code base to export core components of it as a library, which we then consume, which could then be consumed by other React native apps, effectively making it a framework for custom wallet implementations or layering on your own customizations, which is what the BC wallet does. So the approach has enabled developers to put their own themes, their own components, while taking advantage of the core capabilities of by-fold. So by-fold is built with React native and utilizes Aries framework JavaScript, which is a Hyperledger Aries agent implementation that focuses on mobile digital credential solutions. Underneath that, there's a number of other Hyperledger Aries libraries responsible for things like structuring, signing and verifying credential data, storing and retrieving the credentials from the wallet and for looking up the publicly verifiable information from the data registries or ledgers. So right now, BC wallet relies on an indie verifiable data registry, but AFJ actually supports a number of different ledgers. So it is ledger agnostic and it provides a lot of flexibility under the hood. So which means that by virtue of using AFJ, by-fold will also get that customizability going forward. Yep. So I think we can probably skip it. Yeah, we'll skip this because we're gonna show this in the demo, but... So some of the technical features of by-fold and the BC wallet, because it's built with React native, we get cross-platform support right out of the box. So the wallet operates on both Android and iOS. It's available in both the Play Store and on the App Store, sorry, Google Play. The wallet supports multiple languages, including English and French. We even have a team in Brazil that contributed Portuguese translations, allowing us to support that in the wallet. And if anybody wants to see a supported language, we're happy to take contributions. All you gotta do is translate the files into whatever language and we'll support it. The wallet supports multiple authentication mechanisms, so you can use a basic pin, but you can also use device biometrics if you want. It supports, as Klessio mentioned, a number of customizations from the theme to the terms and conditions content to an onboarding carousel when the users first open the app. And you'll see all of this in the demo when we go through BC wallet. So one of the things that we're actually really, really proud of that we implemented was the credential branding. This is really important because when issuers issue their credentials to the wallet, they want a sense of presence in the wallet. They want their branding. And so any issuer right now can create their own custom branding for their issued credentials and they will be displayed prominently in every single wallet that they issue to. And this is enabled via the overlays capture architecture, which if we have a bit of time, we might be able to talk about it. But you'll see it in the demo, you'll see branded credentials. And then basically as we continue to grow, as a community, we're discovering a wide range of use cases that we wanna support. We recognize that one size fits all approach is not really gonna work for everyone's needs. So we're taking steps to make the libraries and frameworks much more modular and more customizable. So we've already started to take this step of modularizing a lot of the libraries and frameworks making them more performant and we're trying to bring that up into the application layer in Byfold. So there's a star next to modular there. So why don't we jump into the demo? So for the demo, we're gonna use the BC Wallet Showcase which has been generously contributed by one of our open source contributors but we've adapted it in BC to showcase how the BC Wallet works. So when you get into the showcase and if you start... Okay, I'll go through and you just use your phone. Yep. So basically I'm gonna open up my phone here and let's say I've just downloaded the wallet but when we go to get started. So there's a number, there's a couple of different characters that you can choose from. So one of them is a student and the other one is Joyce the lawyer. So we're gonna play Joyce the lawyer because that's the use case that we talked about. So assume that Joyce is basically a lawyer that practices in BC. So she's got her physical credentials but as part of BC's digital strategy they've started to move things online which allows her to access things like court materials and stuff online. But in order for her to do that she needs digital credentials. She's not gonna be able to use physical credentials. So in this scenario and this showcase that it is publicly available if you're out of curiosity you can run through this demo yourself. So Akif is just showing there's a little bit at the moment you install the app you're gonna go through own boarding process with a little bit explanation what it is, what is the wallet, how a wallet or how it works. You can then once you've gone through the setup you can get started. There is a very good terms and conditions that I strongly recommend to read. It's very fun. I spent a lot of time reviewing. We're gonna then setting up a pin for the wallet. Again, this pin is also used as a part of your encryption key when manipulating the object inside the wallet. Security is our number one priority to it again to preserve privacy. So it's important that everything is encrypted. And that's provided out of the box for some of the libraries that we are leveraging from the Hyperledger Foundation. Things like Hyperledger, URSA Hyperlayer and Hyperledger Aries Framework JavaScript already provide all those encryption I probably ask are as well for the storage part provide those encryption in how do we manipulate objects fairly easily. You can enable biometric authentication is provided as a ease of use. You can enable or you cannot is provided most of our users are familiar with the biometric authentication process but it's important to emphasize that we as BC government, we do not collect biometrics. It's only the biometric that has been registered on your device itself. So we only ask for your device do you provide the biometric that has been previously enrolled to unlock your phone. It's a yes or no, we do not collect those biometric materials. So in the first scenario here, we're going to go to the step where Akif who's going to be playing Joyce here, he's going to be getting a lawyer credential. So he logs in through to the Law Society of BC member portal, go through a session of the portal where he's presented an option to get a digital credential and then they are presented to a QR code. Opens up BC wallet, scan that QR code and fairly quickly you are presented with a digital credential. I kind of scan that one too fast so. He has an option to again, a credential is proposed as part of the protocol. There is a propose of that credential. You have an opportunity to verify your data and you can then accept that credential. So once I click accept the credential is now has been issued has been signed by the issuer and it now belongs exists within that wallet. Again, that credential can only be used by this wallet and can only provide what is called prove a very valuable presentation from the wallet that it has been issued to. You can potentially copy all the data elements of that credential, but it's still not able to provide the cryptographic validation that has been issued to you or to that particular wallet. All right, so we got to get one more credential, right? Yes, so the next step is, this step is a little bit opaque for us from when the lawyers get their person credential. Within the app, they're presented with an option to acquire and get their person credential as well. As we use a very valuable credential as a feature flag and we use that throughout our wallet as well, we can use it as a feature flag. So when they receive a lawyer credential, now suddenly we're able to unlock other features within the wallet, we know that that person is now within your limited production scenario and they are able to do other stuff. All right, can then accept that person credential and now we have two credentials in the lawyer, one for the lawyer credential from Law Society of BC and another one for another person credential from Governor of British Columbia. So now we're going to go through the process of how do we verify that that credential is valid. So we're going to go through the process of how do a lawyer get access to court materials. So in this case here, in order for me to get access to court materials online or as Joyce, I need to present two pieces of information. One, that I'm a real person. So I'm going to have to present that I have a person credential, but also that I'm a practicing, a valid practicing lawyer. So there's two pieces of two credentials that are being asked for and there's pieces of information that are being asked from either of the credentials. So throughout this process, again, it's presented with a QR code for verification. This time, it's getting a QR code for doing a proof request or for doing a verification and doing a verifiable proof. One of the things that you're going to notice that he's presented with all those are all the elements that are being asked by the verifier, but are not all the elements within the credential. One important feature for us in this verifiable credential ecosystem, particularly to what is, to the unknown crads credential, is that enables the users to do what is verified, to do selective disclosure. I can ask only certain pieces of information that credential and it's to provide cryptographic signature of truth and authenticity without requiring all the data elements. In fact, in some proofs you don't need any data at all. It's called a predicate proof. So for example, if I wanted to verify that I'm over 18, you don't actually need to know my date of birth. You just need to know that I have a credential with the date of birth that specifies that I'm over 18. So that information actually doesn't even get transferred. In this case, they're asking for those specific pieces of information from these specific credentials. So you'll notice that when I share them to court services BC, the information gets sent over. You can see that they can see these fields. They're going to validate it. And now I can get access to the online court materials as a lawyer. So once we do that, we've gone through the whole step of basically credential issuance and verification online. But now we're going to showcase another cool tool that we just implemented in the BC wallet, which is mobile verification. So the scenario that we presented to you is something like a web portal, sort of like a web service. But there are cases where, for example, if you're a business, you might want to have verification between two people, like say in a setting where you want to know whether somebody can access a premises that's over 19 years of age or something like that. Or simply, again, using your lawyer credential use case that is already presented at, oops, sorry, my phone was falling. You can request it like, if you want to validate that someone is actually a lawyer in BC or can practice law in BC, you can request that in a person-to-person interaction. You can imagine that many accreditation could also benefit from that perspective. So for instance, if you're asking if you want to validate that someone is a physician or a doctor, you want to validate that someone is a nurse within his good standing nurse, or someone is a realtor. There has been many, many scenarios where that very fabled credential could be very valuable in a day-to-day routine. Yep. So Klessio, you're going to activate the mobile verification feature? So in my case, it's already activated. Nice. All right. So what you're going to do is, and this feature is available from the app stores and what Akif has referred to, how many people here have Android phones? Ah, a chunk of you. Have you ever used the developer mode? Okay, a couple of you. So you can unlock a developer mode as well to see some tech preview features within VC Wallet. If you tap the build version 10 times, all those features and developer options will be available. So features that are being tested out are there in tech preview, they're available in that developer mode. And this proof request or that mobile verification is one of those features. So if you don't see it right away, it's in tech preview right now. And once we find, once we have been better tested and if we found it stable and good to go, it's going to be available through for everyone. All right, so what are you going to ask me to prove? So for you, I'm going to ask if you're over 19 and what's your, actually, I just want to know if you're over 19. You look a little bit young there. The beard didn't give it away. For this, I'm going to, and we're going to exercise what Akif just mentioned, what is called zero knowledge proof. I can ask for a information to be truth or not truth, without just closing the actual data underlined data. So I'm going to ask if he's over 18, actually, I just found there is a little bug there. It says 19, but it's asking, actually asking 18. Right, so he's going to generate a QR code and I can go with my wallet and I'm going to scan this. And you can see that he's, I actually have a credential which is the person credential because that's what he's asking for. And the information it's asking me for is whether I'm over 18. So as a person, I can choose to decide whether I want to disclose this information or not. So I can decline it and then our interaction's done, but I'm going to choose to share it. And then once I do that, the information is sent and Clasio can see that I have validated that I'm over 18 because I presented a proof with the credential that I hold. So within the mobile verifier is to, again, as a tech preview, it's being under active development. You could potentially can think in the situation where we are standing in line and you wanted to do multiple verifications of validations, you can just, again, generate another QR code and you can get the next person in line with the same sort of verification. We're showing here in this scenario what is called a connectionless proof request, but there's also another situation where I can create a more of a long-standing relationship and I can continuously ask for more and more information as we develop that interaction over time. So... Can I go to my contact? Sorry. Yep. Correct. So technically it's possible that feature has not been developed yet. So that's what is referred to from the technical perspective that's credential negotiation. I can, as a user, as a user, as a holder, I can make the decision to say you're asking for two information, but I don't think I don't trust you enough or you think you're asking too much. By the way, I'm only gonna release those two pieces of information. And that's possible and it's a feature that hasn't been developed yet. Where are we at on time? 430. Okay, okay. Just one last quick one. Hopefully you guys will like this one. So do I go to my contacts? No, you just scan the QR code now. Oh, okay, sorry. So in this scenario, imagine that, like right now you're in a conference, you're establishing your connections. So right now we're just connecting. It means that we're establishing a connection. I know a key and so on. So we establish a connection. I can go back, I can go into my contacts list right now. It's the one at the top. And from here, one of the feature that is available, it is there is a trusted chat that is, again, encrypted from an end to end. And you can see that communication going back and forth. That's also a feature that needs to be developed and explored, but that communication, it is a trusted communication and private just between those two peers. From here, I can also send a proof request. Let's say I'll ask the same thing. How about I wanna ask if you're over 19 again and some other information. So I have to get the notification. Okay, so here, so I go into my notifications. I see that I got a proof request. So I view it. I can choose to share it or decline it. Should I decline it or should I share it? It's your call. It's your information. You're in control. Let's just share it so that they can see what happens. So you can see that the information was sent and he gets it in his chat list and then he taps on it and you can see the information presented. So that's an overview of all the work that's been done over the last little while. Yeah, so there's a lot of new features that has been developed already using, again, hyperledger technology, including areas by fold and areas JavaScript framework, framework JavaScript. And there's also a lot of features that needs to be developed. But so a little bit of culture action as well. We are open source and we would love to see more collaboration. So please help us get a lot, develop this feature. I have a question. Thank you for your presentation. It was great. Okay, one last little thing there that showed up. I saw a request went over and that was displayed in chat. But as soon as the request was answered, the original request disappeared. So there should probably remain a chat log to indicate that. Otherwise it's very broken up and you can't actually tell what's happening, especially looking retroactively. Yeah, activity log is something that is on, there's a lot of features that still need to be rounded up, but absolutely activity logs is something that we're looking at. Steven was laughing, it was smiling there when you mentioned about the credential negotiation because that's been brought up before too. So there's a lot of work that still needs to be done. It's ongoing, it's very active. You'll see lots of pull requests going in even if you go look at the code base right now. Okay, I might raise some issues and get help for you. Yeah, perfect. Please do. And pull requests. A few other items and then I'm sure other people have questions. So there's already a BC services card app. The BC services card app lets you log into other services including the CRA, my account, right? And that's awesome. We're one of two provinces that do that. It's great. I really like where the province is going with these things. I also saw that there's a student section in your new app. So will the BC services card eventually be now moved over, merged from the original app into your app? Will it be different? Do you see what I mean and where I'm going with this? And what other verification, identification verification will you have in your new app in the future, driver's license, et cetera, et cetera? That is a very interesting question. We have talked about it a lot. For us, we have decided to leverage the identity-proving process that already exists. So for us, if you had to develop that, we would delay our release of the wallet. We delay further exploring our use case, the loss of site of BC. So for now, we have decided to leverage the identity-proving process that has already been validated. And we just recently have actually reached that two million BC services card activation at the moment. So we'll leverage that identity-proving process that already exists and we decided to integrate instead of replacing. Your question, whether we're gonna have two apps or one app, it's just an ongoing conversation. From a user experience, I think even from the OpenWallet Foundation, we really embrace this idea that it's gonna eventually be multi-protocol. Right now, as wallet, as errors by phone exist, it's more focused on the verifiable credential, verifiable credential, and a few other protocols that are starting to be implemented in the Iris Framework JavaScript. But we envision that this multi-protocol will manifest in multiple ways, and potentially, we'll have that one app experience. But yeah, that's a good, again, our main focus of investing in BC Wallet app and errors by phone is to have a very user-friendly user experience, and that's one thing that we're gonna have to deal in the near future. Right now, from Mario's case, and adopting with the lawyers, they're very happy with the user experience as is, but we don't think that is gonna be a experience that is scalable for the wide-out audience. Okay, two quick follow-up, sorry. Timeline for rollout just for, let's say, after beta, because it sounds like it's in beta, and then why don't you think it's scalable? Those are my two questions. So it's not that I don't think it's not scalable. I think it's not a consistent user experience. It's not what I call a delight for user experience. Most users, the same way that you pointed out there are two apps we've already noticed. It's something that gets brought up as well. So we want a delight for user experience. I don't think it's fair to delegate that for the user to make the right choice of which app to use. So it's not from a scalability from the technical spec, it's scalability more from a user experience side of you. So we just recently reached a million downloads and user app activation, so we're gonna need to explore how we can leverage all that and reuse that, right? So we can just scratch that up. From the timeline, we don't have any public timeline yet. Our approach is to roll out in a slow and a controlled manner, so we're able to test that out before we go to a wider audience. Like informally, we're getting formal goals, maybe the next year or so, it'll be available to the general audience, but it's a very optimistic date. We're at time? Okay. Do we have time for one more question? Go ahead. Yeah, let's go. Okay, my question is, it seems like this is, it's very app-based from what you said, so I'm just curious when it rolls out more widely, and you know, people who maybe don't have smartphones or maybe have smartphones that don't use the Play Store or the App Store, like is there an alternative for them like an APK they can get or would they be expected to use the BC token, the like is used for the BC services card as an alternative? I'm just curious what the alternatives are. Yeah, so as part of our missions, we provide users a choice of what technology as well and what channel they want to interact with with the government. Some of those may be limited by the technology of choice, so for BC wallet specifically, it does require a mobile app, a mobile device. There's a number of another use case in scenarios where people may decided to share an app, so there's very interesting scenarios there. From the very fiber-credential ecosystem point of view, a token or a hardware device that is specialized, as you mentioned, doesn't quite work, but we're gonna have to look into ways on how to achieve that digital inclusion and also equity across multiple channels and give people the options to the same access to the digital services as well. Multi-faceted approach. If you guys want more information about BC Digital Trust, there's some info sheets outside and please feel free to pick one up. Out of time. Thank you very much. Thank you.