Video: FlexNet Publisher's Piracy Response Feature (2025 Dec 09) | Duration: 3032s | Summary: FlexNet Publisher's Piracy Response Feature (2025 Dec 09) | Chapters: Welcome and Introduction (1.84s), Piracy Response Controls (98.125s), Built-in Composite HostID (987.54s), Notification Framework Implementation (1145.56s), Composite Host ID (1335.7s), Server Security Features (1415.43s), Notification Framework Discussion (2197.015s), License Verification Enhancements (2300.755s), VM Cloning Concerns (2468.185s), Vendor Daemon Security (2550.305s), Composite Host ID (2691.415s), Future Kubernetes Support (2878.05s), Wrap-Up and Farewell (2950.395s)
Transcript for "FlexNet Publisher's Piracy Response Feature (2025 Dec 09)": Alright. Hey, everyone. Welcome. Give folks a a few minutes to to join us here. Alright. So yeah. Greetings, everyone. Welcome to, this month's software monetization office hours. My name is Christine Baroda Stone. I'm the senior customer experience manager here at Revenera, and we're very happy to have you guys here for the the last software, monetization office hours of 2025. And it's a great one that we're ending on. I have two really great guests here to to speak to you guys about our FlexNet publisher piracy response feature. So just a few housekeeping items before we get the the show going. This event is being recorded. And so if, you know, you later today, you'll receive an email with the recording once that's been, published and is available. And as always, this event is done for you guys, and we do hope that if you have any questions, comments, feedback, that you do, put them in the chat on the on the right hand side of, of your screen, and Ravi and Puja will well, they'll get to those, as soon as they can. So with that said, I'll go ahead and hand things off to Ravi Trivedi, our our senior product manager here at Revinera. Hey, Ravi. Alright. I'll go ahead and leave the stage and leave them in your capable hands. Okay. Thank you, Christine. Hi, all. This is December already. Let's talk about, the topic of the session today. It's, the some of the controls that we are building into our products to strengthen your software defense, in a way where, you could respond to, the piracy, especially if you are a FlexNet publisher and Revenera compliance intelligence, customer. Right. So, yeah. So let's, let's start with, I mean, some, idea about the agenda I had in mind today. Session introduction is over. We'll talk a bit about the problem statement, and why and what we are building within Flexnet Publisher, as a piracy response, how they work. And Puja will be demonstrating, on how you as a seller or producer can leverage this capability and, enhance your response to piracy. Okay? So let's start with, the problem. And yep. Okay. So, as the software understand device manufacturers, you continue to rely on your long deployed on prem license softwares. You are seeking a greater security and compliance to be profitable and maximize the value that, you get. Right? And, when you think about all this, response to piracy and deliberate overuse remain as a top ask from, the Flexnet publisher customers. Now you're, you're working with, a company, Ravenera, that has the best of, licensing, entitlement, and also compliance intelligence tools. So, all these solutions are meant to, complement, each other, And then, the job of, licensing, or FlexNet publisher is to kind of flag off early indication of a piracy attempt on your software by, using some techniques, and we'll talk a bit more about it. But before we go there, right, in addition to what I said about piracy and deliberate, overuse being your top ask from the field, There are reasons, or the drivers, that you also pointed out rightly to us that, you you're looking at licensing layer as a strategic partner to make it as hard as possible for Pirate, to put crack version on, dark web dark web after your release. Right? So you you really want how can FlexNet Publisher, along with a compliance program, enable delay of these exploits? Right? The second one is, a lot of, the big enterprises who use FlexNet Publisher, have a goal of revenue maximization. And, they're looking for licensing to flag off early indication of piracy and deliberate overuse And use the data, from this layer, as an evidence that's fed into your compliance intelligence tool or program to then go back to, the deliberate over user or possibly, unknowingly, somebody overusing their software and, recover revenue from them. It enables your compliance teams to, do the revenue maximization. For a lot of big vendors, they, I mean, they restrict the software, to certain geographies or regions of the world, because, of the regulations that they operate in or the country of origin that they, their IP belongs to and, their government having rules about shipping software to certain geographies. Right? And when your customers are able to break the licensing layer and get access to cracked version of software in a geography where you take a lot of mesh measure to restrict your software to, then it works against, you as a company or a software supplier. And, of course, for a lot of companies, it's a matter of brand value, because they are engineering heavy, and r and d focused company. When, the pirates make your, crack version available on, dark web, it becomes a matter of, brand reputation, and you want to be able to make it as hard as possible for your customers to oh, I'm sorry, the pirates to succeed with this kind of, intention. Right. So, let's get into what companies are, leveraging today and what's ahead on our road map, some of which Puja is going to demonstrate today. Right? And like I said, you're I mean, you're in a good place because you're working with a vendor who is a single source for both, licensing and compliance, management solutions. Right? And like I said, much of the licensing layers response will be to flagging off an early attempt to piracy. Right? And we know that in the industry across, there's this licensed application, commonly known as flex client or engineering application, that has a protection of compliance intelligence tool, and you have a good story around how do you deal with compliance on the licensed application side. The efforts that we are putting in, or what Puja is going to demonstrate is really focused on completing the other side of the story. You have the vendor daemon where a lot of license interactions occur. Some pirates with deliberate overuse would try to crack the license server side and multiply the repository of licenses that are available on VendorDaemon. And a lot of this code is written by Ravenera. So whenever you think about this piracy response controls that we are going to give you or the early indication of piracy, you can think that it's completing your story where your engineering application, you know what to do with compliance tools. But in addition to that, RavenRise also, protecting the license server side, the, the code that we give you before you build your vendor daemon and ship it to your end customers. Right? So, that's one thing I wanted to call out. But, again, as we, speak today, we've been having multiple conversations with other vendors. You will see, when you download the latest version recent versions of Flexible publisher, you will see, the recommended best practices that you can do. They are split into if you are a certificate customer, what can you do? If you're a trusted storage customer, what you can do? How you can layer your, response to piracy by mixing the elements of licensing and a a good compliance intelligence tool like RCI and, take a layered approach to, the whole response of piracy. You don't need the features we are going to talk about, today to do all that, but those are best practices that are already available, in our recent releases. And what you can do as a vendor or a seller is to partner with, Ravenara and feed into FlexNet publisher road map what you think about, your needs on from licensing, about piracy. Right? And, what you are seeing on the road map and what's coming up is the new piracy notification framework that's going to give you some, capabilities to work, with, FlexNet publisher newly. We are also actively looking at how we can, protect the vendor daemon from license server and vendor daemon from binary tempers. We're also looking at how we can, detect clone suspects and report it into, the places that Puja is going to talk about. And we are also looking at out of the box RCI integration, which is pretty powerful. Meaning, like I said, your engineering application is all, all already integrated with RCI. But we are thinking if Ravenara has most of the vendor daemon code, they could, auto wire it into RCI. So as a producer, when you look at your compliance dashboard, you have the spirecy, attempts from the engineering application side, which you already do. In addition to that, you also get insights of people trying to tamper vendor daemon and overusing your licenses. Right? So that's, that's a background to, what you can do today, what market is telling us, and, where we will go in, next few quarters. Right? What I'll do is hand over to Puja now, and, let's have her, talk us through some of those features and then follow it up with a demo. Yep. Yeah. Thank you, Ravi. Hi, everyone. So yeah. In Flexent Publisher and the ongoing, release which is already there in GA, we have introduced three new features which are called as a server line enforcement, built in composite host ID, and the notification framework. Let us just try to understand what server line enforcement is. Here, we have introduced a new keyword which is called as plat, and the keyword is allowing the producers to enforce where the LMGRD should run on. So here, we are trying to, restrict the usage of the server on either physical, virtual, or container. Wherever the producer don't want those end customers to run the server on, you can restrict that. With the black keyboard, we have introduced few options which helps you to allow the selected helps you to allow the selected platforms like physical, virtual, container, or the combination of that. Then once you give that certain value over there, then it just acts accordingly. How are you going to set it? It's on the license file and on the server line, you can just have an optional keyword which is called as plat and equal to the number. The doc has a detailed description of what each value stands for. Like for example, if you want your server to run only on physical and virtual environments, then you can select three as a value. When you select three, then the server will not run on the containers. When the end customer tries to run that certain license file on a container, it just stops and it throws the error. This is the leverage that the producer can make use of and control the usage of the license server on certain environments. Yeah. Pujai, I I just want to add one interesting conversation I had. Right? All although this initially aimed at response to piracy, what some of the sellers who we have interacted to, right, some of the vendors who we have interacted to have told us that it just gives us different pricing points. Meaning, I could issue a license file that will work only in physical, which is less expensive. I'm seeing a gradual shift that our customers want to run things in virtualized and containerized environment. So they could leverage this server line enforcement to create a different pricing points. Meaning, some of your customers buy physical at low price points. Some of your customers can buy your products that can run even in virtualized and containerized environment at a much higher price point because that's where the whole market is shifting to. Right? So it it also gives you capability to create different price point, which is slightly different from piracy topic, but it's an interesting case that I came across. So I just wanted to call out. Yeah. Yeah. Thanks, Ravi, Okay. for that. Yeah. Next one is a built in composite host ID. As it states, we have introduced a new host ID which is called as built in composite, and it is the most secure host ID because it is built using the composition of a certain machine. It uses lots of fingerprinting of that machine and a unique value is generated and, that value is taken as a built in composite host ID. These values, as I said, it's very unique and it's generated based on the environments that the end customer would want to run their server on. If you take, for example, if you want the server to run on a physical machine or a virtual machine, the value that's generated is very much different. Even when you clone a certain machine, the value differs because it takes the fingerprints of many components of that certain machine. It might be like, say example, in case of virtual machine or something like that, it might take the VMID, VMgenID, FQDN, FQDN, and Ethernet values altogether and then it generates a unique value. It's the most secure host ID that we've given this time. The generation of this host ID is very similar to the other host IDs in FNP. We have enhanced our LM host ID utility to generate built in composite host ID. It does all the work in the background. You just need to pass extra value hyphen built in comp and then it generates the value. Yeah, that's on the built in composite host ID. Ravi, you want to add anything here? Okay. No. I I think you you covered it. Right? Rather than, having a license server that's bound to one dimension of a machine, which is the traditional way of, lock binding your license servers to. You now have range of fingerprints that are automatically managed by, Ravenera's, solution, and it gives you better protection against copy kind of, clone kind of situations. Right? Yeah. Because the fingerprints are bound to change, and then you have policies to play around what you want to do as a producer when things change. So, yeah, it it's, you you called it out, Pujai. Yeah. It's we can move. to next one. Yeah. Yeah. So the next one is notification framework. So here we have heard many producers say, you just detect us what piracy is happening and we will take actions accordingly on whatever we want to, respond to that certain piracy event. What we have done is we have created a framework introducing few new APIs and using few of the existing APIs. When a certain vendor daemon or a license file is enhanced using this notification framework and there are any piracy events which happen, then it will take actions based on whatever the producers have defined to take actions against those piracy events. Here, if there's any piracy suspicion that happens, then there are many ways on how the producer can take action. They can notify the engineering application, they can try to degrade its performance, or they can try to add some extra logging on the response that an engineering application gets, or they can try to detect the performance or add some pop ups on the engineering applications. When there's some piracy event that happens, you can also try to put in some log messages on the server so that when you see the log, you know that there's something happening and then you can take actions accordingly. You can add the pop ups or you can notify the servers or you can notify the engineering applications as well. You can take these actions based on the producer needs. We have showed a few examples on how you can take the actions. Ravi, if you could just go to the next slide. Yep. Yep. Yeah. Here, when we say as a producer, based on what we have spoken in the past with few of our producers, the action that they would want to take is they would want to run some compliance program in an layered approach or they would want to degrade the engineering application behavior or a delayed response techniques to deceive the hackers. So these are few techniques that, a producer can apply and, yeah. On how you can do it, we have given a small example file on our slash examples folder of a toolkit where it shows you how you can use those notification APIs in your engineering applications and then, yes, you can take the actions accordingly. Yeah. If there are any questions we can take or yeah. We can go for the demo. So there is one question for you, Puja. So there there was one question I was just, I'm just going to read out that Chris. I mean, yeah, Christian had asked, if composite host ID, I mean and how does this work in trusted storage context? Right? So, whatever, we are speaking about, today on the host ID part, it it is for enhancing the license certificate protection. So interested storage. thing, world, all this happens automatically behind the back, And you have some controls to set your policies around weight age for each of the 17 fingerprints that you have in trusted storage. So, yeah, I I just wanted to clarify that. Yes. But there was one more question from, Igor Puja. He asked, Yeah. what is the flex version where plat keyword is available, the recently added one here? Yeah. It's, FMC11Dot19Dot9. The our previous GA release, which got released this year in October, it's there in the PLC. Mhmm. Yeah. Okay. Okay. Thanks for that, Puja. Notification framework works. So first, we will be starting with, server line enforcement. So this is a keyword that we have introduced to be added inside a license file, and every, the keyword will have a value for every environment and every combination of environments. So here, we are using plat equal to two. Two is a keyword for virtual machines to be, supported. So we are saying that this license file should be supported on, or should be able to run only on virtual machines. That is the restriction that we are doing. So we will just save the value, encrypt it, and start the server. As this is a positive scenario where we are, enabling it on virtual machine and starting the server on virtual machine, we don't see any error messages. The server works as is. So the server line enforcement is backward compatible. These we we can do checkouts from the same, same version of the clients as 11 as as the server, that's eleven nineteen nine, and as well as with the older clients. In this case, we are using eleven nineteen seven. So we see that we will be able to do a checkout from an older client as well, which is telling us that we are backward compatible with the server line enforcement. Now, let us just try to see a negative scenario on how it breaks when, when a customer tries to run it on an unsupported platform. So here, in this case, what we are doing is we are changing the value of the, of the plat keyword equal to one, where we are saying that we want to run this license file only on the physical machine. And now since this is a virtual machine, we see that the server fails at the startup. We are trying to save it, encrypt it, and start the server. So usually in a real world scenario, we have heard that, usually producers would not restrict it only on a physical machine or a virtual machine. The more more queries that we have heard is we want to restrict it on containers. So there's a certain value for that as well when producer, set the value as to be supported only on physical and virtual. Then whenever you try to start the certain license file on any container, it fails and give it gives a similar error message as we see it now. Here, we see that the server is not running, and it is supposed to run, only on a physical platform. So, yeah, we see that the server fails when when the condition is not met, which is specified in the license file. Next, we'll move to built in composite host ID. So built in composite host ID is a more secure and, stronger host ID that we have built. It it, it gives a value which is generated using many fingerprints of us of that specific machine. And for this machine, this is the built in composite host ID that's getting generated. So we are using this, composite host ID inside the license file, and we are trying to start the server. So we have enhanced the l m host ID utility, to generate the built in composite host ID. And these values are very specific to certain machines and they are, they are tied to various specific and unique machines. So we do not allow any producers to run on any cloned machines or in any of such activities. Yeah. We can start the server and we see that the server will get started. So, the built in composite host ID is also backward compatible. So, we see that we can do checkout from an eleven ninety nine client as well as the older clients. Yeah. So here we see that the checkout is done and it it works as expected. So this is again a positive scenario, so we don't see any changes here. Apart from that, it's a new host ID that's been introduced. So now what we are trying to do is we are trying to break the system. We are trying to do a negative scenario. So far, the video that we have used, we have integrated it with notification framework. And, here, what we have done is we have cloned the specific virtual machine where we showed the notification the built in composite host ID demo. So here, when we see, it's get it's it's got cloned and the value that's been used in the license file is same as the previous machine. However, when you try to generate the built in composite host ID of a cloned machine, you see that the values are different. If you see the last two digits, it's EE and here it's GS. So, this gives us an idea that every machine that we use and we try to generate the built in composite host ID, it generates a very unique value. Here, we are trying to start the server. So since here we have, enabled the video with notification framework, let us just see how it's got, integrated. So this is the functionality where, where we are calling the notification framework. And then when you just come down, you see that there is an server status check interval, which is set at one. Since this is a demo, we are setting it for a minute where we are checking every minute, what is the server status. And by default, we usually recommend it to be set to twelve hours. And then the built in composite host ID tolerance is set as one. So there is something called as tolerance that we have given. So when you see in the real world scenarios, there are many values of a certain machine. Sometimes when suddenly the network goes down and comes up, there are certain values which which gets, like, restarted. It just goes down for a few seconds or few minutes. We don't want every and and it is a very legitimate case where this happens. So we don't want any triggers that happens, for all such smaller events or legitimate cases. So that's the reason we have given this tolerance, percentage that the producer can select. So by default, it's always 30%. So that 30% of leverage, we are always giving, for, for such events. When there's deviation of 30%, we say that it's not a failure, it might be some genuine case of change of values. But, yeah, the producers can decide the percentage and set it accordingly. Next, when you come to the built in composite host ID validation interval, here it validates the built in composite host ID value also. It keeps validating it with the original, original value. And here we have set the interval for one minute because, we wanted to do it quicker. We have done it for for, like, one minute. But, yeah, in the real world scenario, you can increase the time and you can set it for, like, ten hours or twelve hours or something like that. Yeah. And in this demo case, what we have done is whenever there is a failure or when we detect piracy, we see that there are changes in the values. We have taken two actions where we are trying to print the message on the logs where we are saying that the clone is detected and the server will shut down. And then we are shutting down the server after a minute. So there are producers who tell us that, in case of any piracy events detected, we want to shut down the server, but we don't want to do it immediately. We want to, like, give some buffer time and then shut it down. So here you can set some buffer time, like, seven days or ten days or ten hours or twenty four hours, and then you can shut down the server. So by this, time, I think it's passed all the checks, and, we can see that yeah. Here, it's taken two minutes. Sorry. It's taken a minute to check the, the server status and it's identified that it is a cloned machine and it's called the notification framework and it's taken action according to what we have given. So we have told it to write a message saying that if the clone is detected and the server will shut down, it's given the message, and then the server is shut down as well. So this is what this is how a notification framework can be integrated with the on the server side. So you can do the same on the engineering application sides as well. So we've heard many requests also coming where you would want to give some extra messaging on the engineering application when there's some piracy detected, or you would want to give up some pop up messages, or you would want to degrade the performance of the client machines. So in such cases, we have built an example where we are showing how to, enable the engineering application to check the server status and check take actions accordingly. Here, we have just given some printf statements to, to do the like like to take the actions. But, yeah, for users can decide on the actions that they want to take, and they would, call and, write the actions, based on the requirements. Here yeah. This file is present on our toolkit in the examples folder. Inside examples, there's a folder called as l c server, l c get server status, and inside that, there's a file called as l m server status dot c. That c file gives you a, it's it's an example which shows how you can integrate notification framework inside your engineering application. So, yeah. This was about, server line enforcement, built in composite host ID, and notification framework. Thank you. Christine, can you hear me okay? Christine, Alright. are you I mean, there's some platform glitch I thought after the demo was over. Yeah. The I think the switch over from the, the video to here. So thanks all for for being patient. Thanks for letting me know that, that I was muted there. So let's see. Puja, let me help her get on stage real quick. Yep. Yep. Okay. There you are, Puja. Yep. Alright, guys. Sorry about that. Sorry for the technical difficulties, but I did see it was a bunch of great conversation happening while the demo was going on. So I'll go ahead and leave the stage, and I'll let you guys continue if there's if there's any more questions. Yep. Thank you, Christine. I was planning to go top down, Pujai, if that's okay with you. Okay. Yeah? Okay. Yeah. Yeah. So there was a question. Sure, on. Go ahead. where are the triggers from notification framework? Do we have some custom rules? Example in if the license file was not generated by, the sellers and the vendors, FlexNet operations picked up from somewhere, some location on Internet where a pirate might have put something there. Right? So yeah. So, the notification framework is actually, flexible, Christian. Some of the capabilities we we are building can be wired into notification framework, but it is also possible for you to write a small logic to detect this and write your own custom rule to, feed into notification. So mind you, right now, if you want to build it yourself, then you will have to write a logic to determine if the license file was indeed signed by and and I'm I'm not going to name your company, but indeed signed by FlexNet Operations of, your company. Right? And then, do the verification. That's one way. If you think there is a value, for your company, I mean, we we we have, I'd I'd suggest we talk and see if there are opportunities for our r and d to help doing this out of the box from our product. Right? Because, if when the demon, is picking up other piracy attempts, this could be one way of getting around licensing. Right? Some, some rogue actors would find a universal file that could run. And if there are ways in which, when the daemon can do some sign verification to see if this was not generated by a genuine FlexNet operations, or possibly it was generated with a license generator that dated back in, say, 2008 or before that where you don't come your companies no longer want to solve licenses from those generators, then we could add some features to our product road map. So I'm I'm happy to talk to, your team, Christine, or Christine and you to, narrow down this more if you want it out of the box here. Okay. So, that was one question. Okay. So it looks like you will also answer that question, Puja. Shouldn't the TS just tester store just break if the composite host ID is changed? Yeah. So, we I mean, we know the trusted storage should break, and it breaks today for the trusted storage customers. What Puja had Puja and I demonstrated today was more focused on the license certificate based vendors, where a a simple act of somebody putting license file on Internet. And because FNP is aggregative in nature, you could throw in any number of license file in a folder and bring up your vendor daemon. And if the checks fail, then it would start serving licenses from across the license files. So, you're, you're right in thinking that trusted storage should break. The composite host ID that we are talking about is more, on enhancing the license certificate story, and it's one dimensional host ID way of working. Yeah. Okay. Oh, okay. There are more questions I might have skipped. One is, Olivia asked, if we sup or if this okay. So this is a question for our team, Puja. What Olivia is asking is with this, built in composite Yeah. host ID, there are multiple ways of cloning a VM. Right? In in the virtualization world, there are ways in which you can snapshot, restore, and, like, seven or eight action ways are there in which you can create a copy of a virtual machine. Right? His question is, will the built in composite break if such events occur? So I think it's for our team to check that. scenario and then give a feedback, or possibly tell why multiple fingerprints or how and in which scenario those multiple finger trims, prints would work, in which scenarios it might not work. So Olivia's team. know, Yeah. We'll try, to put that. to expect. Yeah. So it okay. I'll find it. I think we have one last question, Ravi. Mhmm. If you. come down, Sandra has said, if what if vendor itself has been hacked? Can the framework notification handle that? Okay. So vendor daemon, I guess, what Sandra is saying is, what if the vendor daemon itself has been hacked? Can framework notification handle that? Yeah. So if if the technique involves someone to replace vendor daemon with a hack vendor daemon, it depends on which version that vendor daemon was built with. If they're building vendor daemon with notification framework later than the eleven nineteen dot nine, did you say, Puja, in the chat where we recently added this note? Yeah. If you if you're using vendor daemon built. with FNP. eleven nineteen dot nine and later, the notification code will still be there. So it it can, handle. Now we are also looking at tamper assistance in our road map. So we are I mean, we could add controls in a way where people can't, do binary patch over the notification code and just have, tamper protection against it. So, it it'll make the story even more stronger. So the short answer is, yeah. If they're they've built their hacked version with eleven nineteen dot nine and above, then you have the notification framework there, which will which should work. So the technique you could follow is just deceive this hacker into thinking that he or she has succeeded in overwriting the vendor daemon, but secretly captured some, compliance event, and then, see how you want to respond to it, through your compliance program. Okay. So Igor has one question. Does built in composite host ID work for node lock licenses? So this is another, question for our team, Kuya. Right now, it's on the server line. The question that Igor is asking is, we have features, and on each feature, you can node lock it to certain host ID. I think we don't have that support with the new composite host ID. It's only meant to work with server line. Am I have I got it right? Or can we check with team and just respond to Igor? Yeah, Ravi. Mhmm. I think you are right. It's it's only, supported on server line for now. We can, you know, take it as an enhancement. property. Yeah. So, Igor, if it, adds value, to your product road map, we can consider, adding node log. Right now, it's on server line, which may which means it's focused on binding the server to one machine and doing multiple fingerprinting on it. It's, you can't use it in the node lock, I mean, on the feature line or increment line in your license certificate yet. Okay. So, Olivier has one more question, and I support that FlexLM service should be installed to retrieve okay. Yeah. So he, I mean, he's, he's trying to find out I mean, when when we do this multiple fingerprinting, you will need, that service that's running in background. Right, Puja? Okay. Yeah. Yeah. That's. right. We would need the service to run-in the background to generate few values of the machine. Or or was that the okay. I think because this was, asked in the context of VMID or GenID, I assume that they're talking about, Olivia is talking about, this one service that has to run-in background to pick virtualized at and virtualization attributes and do it. But I think what he's asking is mhmm. Flex and l LM service. Yeah. What Okay. Look. like we've clarified. he got the answer. Yeah. That's the one, Ravi. There's a service which is, run to generate certain values, like VM ID or Gen ID. You have to have that service. So, for built in composite host ID, yeah, we have to run it so that it it checks all the different fingerprints of that machine and it generates a unique value. Mhmm. Okay. Alright. Seeing if anybody else has a few more questions for for Ravi and Puja here. I hope, the demo played alright. Ah, perfect. There's still some more. I love it. Go for it. Any any host ID for Kubernetes or Docker. Right? So I think Kubernetes is on our, road map. Right? Puja, OpenShift and Kubernetes is for, Yeah. 2026. That's right. So, yeah, we will, soon have an answer on what that composite will look like if you are running in the Kubernetes or OpenShift kind of situations. Yeah. I don't wanna silence anybody if they still have some more questions because this has been a great engaging, conversation going on here. Good topic. Yeah. Yeah. And I'm sure if folks have some follow-up questions, Ravi and Puja, they can also always reach out to you guys, post. the event, with any feedback and and questions. So. great. Alright. Yeah. Thank. you, Yeah. Puja, I think putting the demo together with team. Yeah. Mhmm. yeah. Great demo. Thank you. great session, you all. And I guess we'll wrap it up there. That's a wrap for 2025, actually. So we will be a little bit on hiatus, but be you know, definitely look out for, future, software monetization office hours, you know, invites. We do hope to see you guys again in 2026. And, you know, let us know if there's any topics you guys want to hear, about. You know, our ears are open, and we we wanna present those things to, to you all. So thank you again for taking the time to spend time with us here, and I hope you all have a great holidays and, a good break. And thank you again, Ravi and Puja, for for today's session. Alright. Bye, everyone. Have a good one. Bye. Thank you. you, Christine. Thank you,.