 I was thinking, maybe Martin can do a short demo of the implementation in AFJ. Yes. Can I show my screen? Yes, you may. I think it should just work. I hope. Let me know if not. I also need to update my preferences. That's probably, if you're on a map, you'll probably have to leave and come back, so that'll be okay. We'll wait for you. I'll come back. Yeah, see you in a moment. This is what we're trying to do with SSI also, right? It's giving user control over how your data is used. Well played. Welcome back. Thanks. So let's try again. Excellent. Can you see my screen? Yes. So in AFJ or in thread or now, we are mostly finished with the changes. There are a few small to-dos now, but the biggest parts are finished. We can now issue credentials with the new data integrity format and also request proofs via the presentation exchange and convey the credentials in the W3C format. I have a branch on my GitHub where I have created a demo, so where we have two agents, Febber and Dallas, kind of like the old demo, if anyone knows it, how we can issue a credential from an agent called Febber to Alice and then send a proof request from Febber to Alice and get a response. So we could also use that for interrupt testing because you asked last time. Yeah, I can also quickly show you and killed how that looks. Can you see this code? Yes. Yeah, just very simple Febber, so the which is the insurance side. In ports, a few static digits. I used checked now because it was simpler to do to implement. So we imported it and we registered schema credential definition, create a connection with Alice or with another agent. It's not important that it's the same or that it's credo. And this is how we can offer a credential in credo now. So we just specify the connection ID. We say that we want to use the new data integrity format. Binding required. We now want binding and we're using the add and press link secret binding method. And we also pass in the credential or the W3C credential here. It's not a verifiable credential yet. Just the W3C credential. Yeah, the claims must align with what is contained in the schema, obviously, but that's it. Then for Febber, we just wait until we receive our request and then accept it. Let's just continue for the Febber side here. This is how we request a proof. Also very simple, which is this.agent.proof, that request proof. And we say we want to do it using a different presentation exchange. And all we need to do is provide a presentation definition. This should be exactly the presentation definition, which we used in the test vectors repo. So should be, I think that's pretty nice. We want the data integrity protect that we see in return with Nanoncret's 2023 signature. I could remove this, but it wasn't served either. Yeah, then the Febber just accepts the presentation. Let's just see also quickly look at the other side where we, if we receive or Alice receives a credential offer, we just say that we want to accept, we provide the link secret ID with which we want the bind the credential to. And when we receive the credential, we just accept and process it. For the proof request, essentially for Alice, exactly the same. Yeah, we select the credentials for the request automatically, then we just accept the proof request once we receive it. Yeah, I can also quickly run it here. So let's see. Can you read this or is it a small in the terminal? Yeah, perfect. Good. So for Febber, for example, here we can just create a connection invitation. Alice receives the connection invitation. And then we can offer a credential here from Febber to Alice, which we've already checked from now. Nice. Which registers the schema credential definition. That always takes a little bit. Yeah, nice. So the credential offer is sent. We also see that here credential offer received. We want to accept it now. Yeah, again, the first accept it and that's it. So, yeah, the messages are not so nice. So I'll refer that. But to receive the credentials, it's processed. We can also request a proof. It's the same there. The proof request is received here. We want to accept it. Yeah, and here at the Febber side, we see that the presentation was accepted. Nice. I can also quickly show this is how the presentation submission and the presentation itself looks like. So for the submission, we just have a bit bigger, we just have a random ID here. Then the presentation definition ID, the descriptor ID for the age verification, which we called it, which says that we have a data integrity verified with presentations at this path here in the presentation, verified with credential zero. Yeah. So here, if you look at the presentation, which Febber or the Febber received there, then we can see that there is one credential. So essentially it's pointing to this here. This is, and you can see that it's like this. It has the cryptos which are in front of you free. It's data integrity protected. Excellent. So that was all from my side, unless there are some questions. I love that line. That's all from my side. That's a whole lot, Martin. That is awesome. Excellent.