Hi, everyone. Thank you for joining us today. We're going to give it a minute so that more people can join us. I would love for you all to just take a minute right in the chat, let me know kind of like if you're new to giving events, what organization you're representing, just so I can kind of get an idea of who's joining us today. And then that also lets me know that the audio is coming through for you. So I'll take a minute and see what you all had. So welcome Pam. Cool. Okay, great. Wow, we have a lot of people today. This is exciting. I am working from home, so the birds are chirping. I don't know if you all can hear that coming through. So maybe you'll get to hear some birds today. Cool.  Great. Thank you. Okay, so as more people join, if you all can just let us know where you're coming from, what organization you're with, if you're new to fundraising, if you're new to the giving event space, I'd love to hear. Okay, so for now, we are going to get into it. So welcome to today's webinar with Mighty Cause. We'll be talking about the five essential elements to help you get a super successful Giving Day campaign. So my name is Sarah. I'm going to be leading you through the presentation today and just one quick housekeeping note. So this is a recorded webinar and it'll be available for viewing after the event in case you have to hop out early or if you want to share it with someone. And then of course, if you have any questions, there's a little Q&A panel at the bottom. You can send those over to me and we'll get through as many as we can at the end of the webinar. So this is me. Welcome. Here's a look at our agenda. We're going to be going over these five key elements that are put together so that you can have a successful Giving Day. Hopefully, if you're brand new to the giving events or if you've been participating for a few years, you can find something that will help you kind of try something new for this year's events that you're participating in. So pretty much the breakdown for our five elements is setting clear goals, reviewing and understanding your specific Giving Event, how to utilize and create partnerships, how you can continue sustaining momentum during the event. Sometimes that can be challenging and how to pretty much just elevate your outreach and what that means for your Giving Day. And then of course, at the very end, we'll do a recap and we can head into our Q&A. So if you have questions, like I said, just add them to the Q&A section on your panel. A quick introduction to Mighty Cause if you're brand new to this space.  Organizations can use us every day of the year to raise money for their causes. We also were one of the first to host platform, to be a platform that hosted Giving Days. We have a ton of just super powerful tools to help your nonprofit just build out and sustain your online fundraising goals. And especially if you're looking to grow your donor base or if you need help managing your online data or just making your fundraiser more shareable, we can help you do all of this. So let's get into it. Okay, so for our first element, we have setting clear goals. And this is really getting back to the basics of just setting clear goals for yourself and your organization. This seems pretty straightforward, but it's just sometimes very overlooked, especially if you've been going through the motions of participating in a giving event year over year. So really starting sitting down revisiting why you are participating in that giving event. And there are more than just monetary goals for Giving Day. So yes, you definitely want to raise like a bunch of money for your organization, but also considering non monetary goals is something really important that you can set for your organization. So just examples of non monetary goals, setting goals for like a certain number of unique donors you want for your campaign, new donors, having peer to peer fundraising involvement, or just trying out peer to peer fundraising involvement for the first time, if you're brand new to that space. You can also consider adding a goal to engage more matching donors or learning how to kind of take that leap and engage like local business sponsors to help you out. And then we always, we kind of label these under smart, you might have heard of them. So smart means your setting goals that are specific, they're measurable, they are attainable, you know, you want to be able to reach these goals and they're relevant for what you're working with, and also time bound, especially with the Giving Day, most of your goals are going to be, of course, time bound between early giving at the end of your event, if there is early giving for your event. All righty. Okay, so we're into element two. So this is all about understanding your giving event. So when you're working on setting goals for your organization, you're going to want to spend time just evaluating the specific rules and prizes for your giving event. So every giving event is totally unique. And the key to understanding how to succeed for your organization in the giving event is really understanding the event itself. On Mighty Cause, if you're participating in a giving event, it'll show a page all about the rules and the prizes for that specific event. And that's going to be like your number one first stop for developing your specific campaign strategy. So take the time, look at all the prizes. We have golden tickets, some events have power hours. Leaderboard prizes can vary based on dollars or most donors. And just figuring out which ones you really want to aim for. Sometimes it's not possible. It's usually not possible to aim for all of the prizes, but really honing in and focusing on like what you want to get out of this event is your first stop. And then the giving event prizes are great because they are pretty much built in marketing tools for your nonprofit. So like, and those are actionable items. So donate now, help us win an extra thousand for our work. It's a compelling call to action for donors and combined with your superb storytelling skills for your nonprofit. So that's a really powerful way to get people engaged during your giving event. So definitely make sure you understand the prizes available. Ask your host questions. You know, reach out to support if you need a little bit of help. So they can help you take full advantage of the marketing spin that they're providing you with the prizes for the event. And then when you're getting your giving event fundraising planned together, the prizes themselves are going to act like bullet points. So you can take each prize, you can create an email, you can post about that prize on social media, let everyone know that you're aiming to win a prize, a specific prize, and then consider doing personal outreach, which we'll get to in a little bit when you're competing for a prize. So definitely become familiar with the structure for your event. All righty. Element two is all about utilizing partnerships. So giving events are a really great way to engage and connect with your community partners in a way that offers both of you mutual benefit. So thinking about these partnerships, we have listed out ambassadors, existing partners, board involvement, and of course sponsors. So your ambassadors are who we call the people in your organizations in our circle who can help boost your campaign. So this is everyone from board members, volunteers, especially like people who are highly engaged in your work, staff members, and so on. Utilizing ambassadors can help you break out of your list of existing supporters and engage new people that they have contact with, people that wouldn't otherwise, that you wouldn't otherwise have access to. So an ambassador can help you, they can share a link to your organization's page with their personal social circle to ask, you know, their contacts to help donate or help boost your campaign. If you have a board member, for instance, who is super well connected, that can be a huge boost for you. They can help by of course also getting involved in peer-to-peer fundraising. If you have existing partners that you've been working with, you can meet with them and see how you can work together to help keep your fundraising momentum going. So that's going to be a big one that is our next element, is how to keep the momentum going. And that's a good way to kind of connect with existing partners and see if they can drum up any ideas, if they can provide anything from like a matching grant this year for you, or fund prizes for peer-to-peer fundraising events, or just even like a simple social media takeover, maybe they'll let you go on their Instagram, take over their stories for a day if they're a close business kind of person who's supporting you. So then you can reach more of their contacts. So it's all about just extending your reach through these partnerships. Plus it's mutually beneficial, it's great exposure for your partners, they get to show their support and engage with your cause. And of course also moving into board members, you definitely want to extend the ask to your board members. So part of their duty on the board is to the, is tied to the financial well-being of your organization. So it definitely makes sense to have them help out during your giving event. You can ask your board if they would like to go in together to provide a joint kind of matching grant on behalf of the board. They can peer-to-peer funders for you, you can really get creative here. Each member kind of has their own professional and personal network as well to help extend your campaign reach. And Mighty Cause has tools to really kind of help move that along for you to create like, we have the option you can create a fundraiser template so you can send it out to your board members or your board members can send it out to their networks to help make peer-to-peer fundraising super easy for everyone. You can also create a team on Mighty Cause, you can allow, which allows fundraising together. So if that's something you want to try to kind of elevate your giving event for success, you can have your board kind of participate as a team. There's just a lot of options here. And then in regards to sponsors, giving events are a really great way to gain exposure as a business. They can show your support for, show their support for your cause in the community there while helping support your fundraising efforts in like different ways. They can also supply a matching grant. They can also potentially help cover some costs like say you want to partner with them to help with marketing expenses. They can put their logo on different things. There's just lots of ideas here where you can kind of start thinking about sponsor outreach for your campaign. I see a question actually. So can we talk more about prizes? What types of prizes do people offer? How do people win them? Is it a random drawing? Yeah. So it really varies by giving event. So when we're talking about prizes, some events have leaderboards where you know the top first, second and third place might go to like the organizations that have the most donors. We have some that do leaderboards based solely on dollars. So those that raise the most dollars, you would have to look specifically at the rules to figure out how to win. But they also have their golden tickets are super popular. We have random drawings that happen. Sometimes events will do them every hour. So if you get a donor on the hour, it'll be a random drawing. They're all kind of very different. So and they use them in different ways. So you'll have to look at specific ones that you're interested and kind of see how they structure them. Alrighty, let's go into sustaining momentum. Okay, so this one can sometimes feel challenging. Giving events can be long. Sometimes they are just 12 hour events. Sometimes they're 24 hour events. Some of them will go on for a month. It really depends specifically on your giving event. But no matter what the timeframe, you're going to need to try and sustain momentum. It's going to be a full day for you. But getting back to element one where we talked about setting clear goals. Setting mini goals also helps throughout your campaign. It's an excellent way to sustain momentum for your fundraising. These mini goals help make your campaign, make sure your campaign is staying on track and helps your organization generate buzz, build excitement. So setting mini goals for yourself during certain hours of the day is a really good idea. It helps you keep people excited about the goals that you've set for your organization and keep working towards top prizes. So whatever goals you do set, the way you keep momentum is letting people know your goals, let them know like where they can help you out, what hours of the day should they definitely donate. Let them know that. So to set mini goals, you're going to want to think of your overall fundraising goal and what you'll need to raise or potentially how many donors you'll need to get if that's a goal each hour or section of the day. And then be sure to keep in mind when your donors are most active to adjust your hourly kind of settings, section goals accordingly. So if you know there's specific times of the day that might be quieter, might be slower, one tactic to sustain momentum is to utilize a matching grant during that time. You can kind of advertise that it shakes up your campaign, it gets you some momentum and also incentivizes that people love matching grants and we'll go a little bit into this in a minute. But people love them, it doubles their donation potentially if that's how it's set up, a one-to-one match. So that can really urge people in slower times to kind of give, okay, and then utilizing prizes and challenges. So donors definitely want to help your non-profit win cash. So after all, like if they help you win extra money for your work, they've made their donor dollars go even further and that makes them feel great. These prizes for your giving event are built to help your non-profit motivate your supporters and build excitement. So pay attention to the special prizes, challenges from the event host. Does the event have special prizes available for most pre-event donations? That's something to consider. A lot of events have early giving, so kind of opening your strategy up a little bit more so it's not solely based on the day of paying attention to, you know, your pre-event early giving as well. So use those to your advantage. And then finally matching grants, a really great strategy for sustaining momentum, driving donations. A matching grant, if you're brand new to matching grants, bear with me if you all have already heard about matching grants, but essentially it is a large donation that your organization is going to use to leverage to bring in other smaller donations by offering them as a match. So basically a matching grant is just a large donation that you use to bring in other donations. So for instance, if you had someone who is a donor and wants to give you $1,000, you know they're probably going to give you $1,000, maybe they're a recurring donor. Instead of just having them donate that money to your giving event, again, perhaps you reach out to them and you ask them if they can provide their donation this year as a match to your cause. So you can do a lot within the Mighty Cal's Matches tool. You can set a cap for donations matching so that your match doesn't get eaten up all at once. You can say like $200 will be matched, so people don't take all of it at once. So why should you consider using a matching grant? Sometimes they're a little bit more work, you have to set them up, but the payoff is huge. We love it. It creates a sense of urgency. It offers your donors a chance to double donations or however you set it up. Matches really help the money of your donors go further. It's a huge wonderful marketing tool. It shows the donor they can get a two for one kind of like a good deal. It also matches provided clear, called action. Like during this hour of the day, we have a live match. Consider making your donation as much as you can during that hour. And if you can tie the matches during, strategically during your prize hours, those can help you as well. And also the wonderful thing about matches, it empowers donors who might only be able to give in smaller amounts. Someone who can only give $5 or $10, it helps them really reach a little bit further with their donation. Okay. And then for element five, we have elevating your outreach. So for our last element, this means pretty much how you choose to reach out to your donors and just like the different tax tactics that we find that work well. So I have listed first the follow-up ask. You might be surprised to think about asking donors to give again. And you do kind of need to fill the waters with this, but don't assume that your donors will only want to give once to your costs. Tying together all of the other elements that we've already mentioned, having many goals and milestones to get to during your campaign helps provide donors a reason, helps provide you a reason to ask your donors to give again. So say during your event, you're super close to being the winner of a challenge with like the most dollars raised, and you can use that energy to ask your donors to consider giving again, to help push you over that finish line or asking them to share a link with friends to donate to their social, through their social network to help push you through the finish line. Many people are willing to donate multiple times to the same campaign. So if you find that things are slowing down in the middle of your campaign, you can send follow-up asks to your donors. You will always want to wrap acknowledgement into your follow-up asks. You want to use language like we know you gave. We're so thrilled. We're so close. We know we can count on you. You are one of our most loyal supporters. Find a wording that feels right to you and your donors, but also give them that great reason to give again. Hit them with your compelling storytelling, your piece of new content, your matching grant that you secured that might be live, or just ask them for help in getting to your next goal. Email segmentation is really big. So if you haven't already, you're going to want to start kind of thinking about segmenting your email list. This is kind of an elevated outreach strategy. If you use an email marketing software service like constant contact or MailChimp or any other, you can start segmenting your emails. So to break that down, this means either through tagging or breaking your main list of emails into smaller groups so you don't have just one long e-blast kind of list of emails. So for instance, you could segment by people who have given to your nonprofit.  You can segment by your group of volunteers, your group of staff, and so on. And you're going to want to follow up with segments that haven't yet engaged with your campaign and segment your email communications. So you're talking specifically to each group. So you're going to need to tailor these messages depending on who you're sending them through, which is actually really helpful. As a nonprofit, you're limited on time, but this is something that can actually really pay off. People are much more likely to engage with the email when it reads like it was written for them rather than being, you know, an email blast that was sent to anyone and everyone on the list. So segment your emails. You can get your email list of people to give, try to tailor your language. I like to tell people to kind of create drafts like on Google docs or whatever you use so that you can before the giving event kind of get everything together, have your different messaging for each group. The prep work is worth it. Let me tell you to move into kind of in the same segment of email segmentation. This is another idea kind of a higher level. You can experiment with A, B testing in your emails if you have the capacity for that. And this is not something that you probably want to do right before a giving event. This is something that you should have on your radar throughout the year. Something that you can work on. This means sending the same email to two groups of a segment. So pretty much this is taking your segmentation a step further. You're trying to see what emails do the best, what emails get the best response. So this pretty much means you send the exact same email, but you're changing one thing. If you look back on your high school years when they would have you do a science project and they want you to figure out which you're changing one variable to see which one does better. So that means changing the subject line, adding an emoji to your subject line. Do you get more opens from your emails when you have a cutesy emoji? Does that resonate with your donors? Or changing the color of a donate button link? Little things like that make a huge impact with how people respond and click on your email. Do they like the green button for donate better than the blue? There's just a lot you can learn from AB testing. So consider doing that throughout the year, getting ready to know what works specifically, what gives you the strongest engagement level during your giving event. Okay, and then we have personal outreach. So blast emails, social media promotion, all of these mass efforts are super great. You're going to definitely want to consider using them, putting a little money into some marketing for Instagram, Facebook, wherever your donors are, but personal outreach can really motivate people at a different level to support your nonprofit. Obviously, if you're a smaller nonprofit and you don't have the ability to outreach to every single person, make it a goal to outreach to a couple people every week, getting the word out. During the middle of your campaign, you can go under super long lasting support and more meaningful engagement through personal outreach. People love personal phone calls, but at the same time, like I said, if you don't have the capacity to do that, this is a perfect chance for a volunteer to do something. So if you're looking for ways to get more people involved in your organization for the giving event, if you want to engage with a volunteer component during your giving event, you could have a little training session, you could give a list of, you know, you can have people come to your office, your location, sit down and kind of reach out to your donors, provide them a script, provide them talking points, you know, something like that, that would really, really help like considering, okay, so I talked really fast. I know this was supposed to be 45 minutes, so if you all have any questions, you can start thinking about those and you can send them there on the chat. I love seeing how so many of you wrote into the chat to tell me where you're from. We have Florida and Georgia and I'm in Nashville right now, so it's just, I love seeing the reach that these webinars got. Really cool. Okay, so let me know if you have any questions, if there's anything that you want to go through. If you can just write them in the chat. I do want to touch a little bit on peer-to-peer fundraising because I didn't put a specific slide together for that, but if you are brand new to peer-to-peer fundraising, I just want to mention that is a cool way to extend your reach. You can do individual fundraising pages. Mighty Cause offers team fundraising and advanced fundraising, so pretty much how that works. You can create a template when someone comes to your page. If you're on Mighty Cause, there's a little button. It gives them the option to fundraise for you, so they can click that. They can create an individual fundraiser and then all of those funds are automatically added to your page on Mighty Cause, so it's not competition. If anything, it's something that you really want to start to think about. Make a small goal for yourself to get five peer-to-peer fundraisers for your event if you're brand new. This is a lot to tackle, so hopefully when you look at this webinar, you don't get overwhelmed. You find something, a couple things to start to chip away at because we're all stretched thin, so just really do what you can handle and give yourself just some small goal to reach towards to elevate your campaign. Examples from last year's Giving Day you can look at. It depends on the Giving Day. I would start by, if there's a Giving Day on Mighty Cause that you're interested in, go to it. They typically will have either their current Learn More website up. You can look at different ones like Give Out Day or NWA Gives just happened, so go to those kind of Giving Day sites and you can search and you can see different profiles in the search who have participated and you can kind of see what their pages look like. Of course, you can also sign up for a demo if you want to kind of see a little bit more about Mighty Cause. We have an awesome support team who can kind of show you the different functionality and features. It's pretty much like an all-in-one. It offers a ton of stuff. You mentioned a golden ticket. What is that? Okay, good question. A golden ticket is typically, it's a random drawing during the day. That is one of the prizes that different Giving Events use. They might say, every hour of our Giving Event, we're going to have a golden ticket. That's just pretty much what we call a random drawing or something. If you get a donor during the day, they can pull a random ticket, like a unique donor or donation. It's all kind of set up differently. Provide the links, please. I don't have the ability to do that, but if you go to Mighty Cause and you can browse through, you can also email supports, our support at mightycause.com. They can send you kind of some different links to different things if you're curious. Definitely consider setting up a demo. They can show you everything. You can do a free trial if you've never done one on the platform. But cool. Thank you, everyone, for joining. You had good questions. Here's my wrap-up slide. You all can do this. Awesome job. Good luck with your events and your campaign. And hopefully we'll see you again. Thanks, everyone. Have a good day.


So this is the title of the talk that I'm going to talk about today. It's basically a project that I worked on last summer as a part of Google Summer of Code. So I'm Damesh and I'm an active open source that contributed to Drupal code and I'm also an organizer at Injak Mentor of Code, a different version of Google Summer of Code that we organized in our college and I'm a developer at GSOC and also a mentor in GCI and I'm an undergraduate sophomore year student. So yeah, this is my email idea if you want to reach out to me sometime. So yeah, like I told you, the project that I worked on, this project was a part of Google Summer of Code that I worked for Drupal. So let's talk about what Drupal is at first. So Drupal is a content management system. So what is a content management system basically? If you ever need a website up and running and you don't want to write any code, so what do you do? You just install something that's called a content management system and you just install it and by a few clicks you'll have a website up and running without writing any code. So that's what a CMS is basically. Drupal is one of the most popular CMSs out there in the market and so one of the things that I love about Drupal is the huge community that we have. It is of over a million people and it feels great to be a part of that amazing community. So yes, who uses Drupal most of the government websites in USA use Drupal, Twitter, NASA and a lot of people and 2.3% of the worldwide web basically. So yeah, coming to the topic, the part of the topic of the project, the top of the talk away from Drupal, basically just to give a quick introduction about cryptography is because if some might not know what cryptography is. So basically cryptography and encryption used to be synonymous terms in a pre-modern era. So basically cryptography is basically you're just taking some text and converting into some gibberish text. That's cryptography using some complex mathematical irreversible or reversible functions. So what encryption is, encryption is basically the process by which you're converting sensible data into this kind of gibberish text. So yeah, okay so this is how encryption happens. You take some text that makes sense. You take a key and you put it into an encrypting function and that performs some mathematical functions like using ellipses like that is a part of ECC which is elliptical curve cryptography and a lot more other things that other algorithms that go behind the scenes over there. So yeah, an encrypting function takes some sensible data, a key and several other parameters and then turns it into some gibberish text that you cannot understand what it means. So once you have encrypted your data you have some random text and in the encrypting you take that random text, you take the key, another key, let's call this key to for instance and you convert it into text that makes sense. So there are two kinds of encryptions, automatic encryption and asymmetric encryption. So in symmetric encryption both of the keys that are used for encrypting and encrypting are the same and in asymmetric crypto both of them are different. So one of them is called a private key and the other one is called a public key. The public key can be put out in public and it can be just put up in some server or some place you can just keep it up there. So anybody who wants to send you encrypted data will take the data encrypted with your public key that is out there on your servers and then at a later point in time send it to you. When you receive the data only you will have the private key and you can take the private key and decrypt the data and you will get what the user intended to send you. So that is the asymmetric cryptography. So basically these are the two things that will be used in the architecture of the module to fit in as puzzles to actually make sense of the whole module. So yes, these are different standards in cryptography that is actually a meme. I don't know how many of you would get that, but that's all right. You get it. You get it. Okay, so yeah, these are many standards in cryptography. Okay, so there are a lot of encryption standards already out there and almost all of the applications that we use daily use some of the kinds of encryption. So there are a lot of drawbacks of those or maybe they're not properly as well implemented as they should be. Like there is no kind of a cryptography and there's no kind of an application currently out there which I mean non-zero knowledge which does cannot read your data on the server side. So yeah, so in the present architecture what happens is the encryption happens on the server and this way you need to trust the owner of the server. So basically if you're uploading some data to XYZ company and you need to trust them that they won't misuse the data, but at times it turns out that they do like recent leaks and all, you know, you might have heard about what happened with Facebook. So yeah, and back doors for some, like there are, at times some companies they leave out back doors in their software so that some organizations can access the data secretly and they are basically spying on you. So yeah, like some organizations which I shouldn't name but yeah, possibility of data leak Okay, so what is a zero-knowledge architecture basically? So Wikipedia says a zero-knowledge proof is somewhere like Wikipedia says that that is what the definition of a zero-knowledge proof is like. But over here what I'm using for a zero-knowledge thing is basically somewhere where the server would have no idea or no knowledge of what the data on the server actually is. Okay, so that was the GSOC project and this is, so the GSOC project is based on this idea of a zero-knowledge or no-knowledge system and so the basic objectives of the module was essentially to so that the file data cannot be accessible by anybody outside the intended group be it the server administrator or anybody who has physical access to the actual server. Yeah, the data is basically encrypted on the client side and it remains encrypted while in transit and at rest. So to explain the architecture of this module, I'll have to basically run you through a few keys that I'm using and a few terms. So this goes along with the architecture that own cloud is also using on their servers for zero-knowledge systems and a zero-knowledge protocol but over here so yeah basically one thing that we will have is a group key so the files that are being shared are to be shared only among that group so nobody outside that group should be able to see the decrypt the data so we're making a randomly generated group key that is generated at the time of the creation of the group or when the module is installed. So basically this is called a group key, I'm calling this a group key and it will never be stored as clear text on the server and it is stored as access keys for every individual user and at the time of the user logging in for the first time after the module is installed, we generate a public and private key pair. This public key pair is stored, the public key is stored on the server and the private key is stored locally and there are many ways to store but currently I'm using the STML5 API that stores the local storage API that stores the data in the browser so basically that is where the private key is being stored and access keys okay access keys okay so what is an access key? An access key is the encrypted group key for every user so every user would have one access key per group that they are in okay so yeah that's about it and the key generation basically when which key gets generated or the public and private key gets generated every time for the first time they log in and group key is the key assigned to a group and access keys are for every user so yeah this is how the interruption happens in this architecture basically the when a browser when a user wants to interrupt some data the browser requests for the for that user's access keys using a REST API and it fetches the key and then it also fetches the private key from the browser and it uses these two keys to generate I mean decrypt the access key using the private key to get the group key and it uses this group key to decrypt the actual data that he wants to see so that is how the decryption happens and in the encryption sorry that is how the decryption happens and this is and the decryption happens by fetching a key using the same mechanism but at the end it's just decrypting the data with that same group key so that is that is AES encryption so at the end I mean it's a metric one that I'm using okay so that was basic basic encryption and decryption how the encryption happens in the module but this module goes way beyond that because there are a lot of edge cases and a lot of cases where you don't know what would happen I mean what if a user is user is not there already and what if the module is already there and a new user has added to group in those things and yeah some basic behaviors yes so as I said before that I was using local storage HTML5 local storage for this for the module many people have told me that local storage is a volatile storage if you clear the data of the browser the key would go away so but how did I solve this so basically when the key generates you get a copy of the private key downloaded to your local computer and once that is downloaded you and at any point in time in future if your computer gets maybe it damages or something where you move on to a new computer using a new browser you have an interface that on which you can restore the keys basically and yeah what happens when a new user okay so the complete architecture is set up and all the keys are in place and everything is there so what will happen if I'm adding a new user to the computer if I'm adding a new user to a group the admin adds a new user to the group so basically when a new user is added to a group the first of all when they log in for the first time they will get a private and public key so they have those keys in place now now when the admin adds adds him to the adds him or her to the group there's this thing called as the pending keys table so that user gets added to the pending keys table and there's a request for a key okay I need need this key if somebody is online please give me a key so when another user comes online who already has the key for that group he decrypts and fetches the group key for that module and sees that okay this guy needs the key for that group he fetches his public key from that table and encrypts that his own group key and sends it back to him so he now has a key so he can access the data now what happens when a user is deleted when a user is deleted there's this hook there's a there's a hook that is called and the user's keys are removed from the from the table and it isn't currently done but it should should happen that the all the key should be regenerated because what what if the user what if the deleted user has a copy of his keys but this is not currently worked upon that much so yeah this is basically the all the dependencies that I mean when I started started off with this project there were I was my mentor gave me this told me about web cryptography API that is why that is a recommendation by W3C so I looked it up and and it turned out that the other functions that I needed for for my project were not that stable and it weren't working properly back then so after after that I I explored more and found a few more libraries okay but they were also based on this API so but it turned out to work somehow and yeah so I was actually using the JavaScript SJC LLC Stanford JavaScript Crypto library it's good for easy elliptic curve cryptography and AES but it does not support RSA so for RSA I I'm not supporting easy yet I'm on RSA so yeah for RSA I needed to add a dependency for JS Encrypt so I'm using that and yeah so there are there are a few trade-offs when we are using for going for this kind of an architecture so so because all this stuff is happening on the browser on the client side and the browser is not the an ideal place to do a lot of processing so it is way way more slower than it would happen on the server ideally and it and you cannot put a lot of load on it because it might catch if you use if you're having a having like very large fails and yeah the volatile key storage that I talked about if you want more details on the on the on the architecture and the progress and everything like that there's these links disease links and the slides links are over here you can access those from there and yeah so this is a demo of how it works but that's just a basic few clicks and a few like do you want to see it the demo okay I'm not sure if I have to wait no I think I have so this is basically our user logging in this generates a new key pair private key pair private public key pair this is the private key that gets downloaded and then what is this okay he logs out logs in logs in using a user that already has a key now I'm going to post some some content to a group and I own and I want that file to only be read by the users of that group so the file it's it's encrypted and uploaded and now I can access the file over here but if I log out it's still there and I can access it the file and now I'm logging out come on okay now I've logged out and it's the same URL so the file is on there and yeah that's it okay so that's it thank you


Welcome, folks! This is Tom O'Brien, a TFNN. We have five days a week. We go seven hours a day. We go 24 hours a day on the internet at TFNN.com. Always remember, folks, whatever you think about, you bring about whatever. You focus on growth. Hope everyone's having a great day, safe day. Let's make it a great night, folks, and a great week. Don't take anything personally. Ignore the opinions of others. Whatever people do, feel, think, or say, don't take it personally. Others are going to have their own opinions according to their belief system, so whatever they think about you is not about you, but is about them. That's a tricky cod, man. Knock it wise! Let's take a look at it out here. We have the Dow Industries down 114. Nasdaq off 241. S&P's off 35. Gold contract flat 19-22-60. Silver also flat 24 dollars 50 cents an ounce. Light sweet crude up 464 at 97-32. Notes and bonds. A 10-year note. Down 7 ticks at 1-20-22. The 30-year off a full point at 145-14 in Kingdala. Kingdala's up 131 ticks trading out at 99-601. Euro 109 yen is at 123.77. And the British pound is at 130-1 US dollar. Our phone number is<PHONE_NUMBER>. Give us a call, folks. I know what's going on in your world. The S&P's, let's take a look at it. Let's get over to the futures, because this is really cool where we are, folks. So we got a down market all day. You had the Fed Minutes come out. That's the wrong future. Okay, here we go. So we had the Fed Minutes come out. Bottom line, sank the market. Well, first, what it did, and this is what's really cool about what we're doing right at the second. So what it did is that you had the spike higher. So the spike higher that we're talking about is that when it came out, the spike higher was $44.95. Now, you can see what's going on. We are right now in nine minutes into this bar.  If you day trade, folks, okay, put it this way. Time in the trade works, whether it's a daily, weekly, monthly. You just see more if you're day trading inside it. This is going to be a classic here, okay? So at the end of this bar, okay, which is still one more minute, I think it still could make it, okay? The bottom line is that we have to make $44.95. Now, if it doesn't make $44.95, that's a failure on price and volume. And where you can expect the first move to go is this. See this bar that got registered out here 40 minutes ago? That bar is $44.81. So you can see the volume on that bar. Now, that bar there is $61,000 contracts. Okay, so we already just failed. What happened next is it's going to go at the top of that bar, which is the $44.81. And you're going to need more volume in order to get to lower price. This is how this is kind of set up. So it's going to be cool watching this whole thing shake out. My take is that, yeah, we already failed the first one. We'll see how this shakes out. And we'll go from there, man. We take a look at the NQs. NQs, same type of setup. Now, you've got to remember something, that the NQs are weaker than the S&P. So if we take a look at the NQs, what we have here, this is okay. So inside the NQs, it's the same number. The spike high there was $14,634. We had 38,000 contracts. Well, we got over it and we closed under it with $19,000. Bottom line, it's the same number. See how that big spike right there? On the way back down, $16,574, would give it a little support. Bottom line, we'll see where this baby shakes out. My take is that we're going south once again. And we'll know really quick, because what ends up happening when you get bars like that and you get a failure, it'll come back down, try to get into it. If there's too much, if the volume is too light on the way down, guess what? You're going right back top side. So nice setup, man. Nice setup. Gold, gold contract out here. Take a look at gold. Gold continues to go sideways. Light volume. This is all about the good old U.S. dollar. Bottom line is that dollar stays high, gold's going to go sideways. Right now, you've got 145,000 contracts. You're going sideways. You're trading out here at 1926. We take a look at the silver market. What do you have with the silver market? Same thing, flat market. And that is trading out here at a price point of 24.54. This is pretty cool. This is rejected. You can see what it's doing. Last week when we went down on the 29th, that's a high volume spike low, rather, and that's what it's trying to get into. If we take a look at this, and there we go, you'll see that we have 43,000 contracts. You're going into 76,000 contracts. So you're going to need a lot more contract volume than it should be. We get over to the good old king dollar. We take a look at king dollar, king dollar. Bottom line couldn't handle higher price yesterday. Came off it. Guess what? You're over it. Bottom line, we'll see where this is shaking. But if we stay over this for a bit of time, meaning three, four, five days, then what is game is that next high out there, which is 102.7 plus 102.992. We look at some of the higher volume we are. What is going to happen already is this. No matter where the S&P goes today, meaning if I'm right in the context, it's going to go back down versus basically, you know, being a nice bull and going all the way higher, you're going to have a high volume low. We have volume in this market out here in a big way. So we reached a lower price. You're going to have volume. If we take a look at the, let's just take a look at the spy, because when you set this up, what you have is that you can see, you've got a small ABC down, man. Oh yeah, this is even better. This is cool. Okay, so let's do this. That's 462 to 450. Okay, 449. You know, 13 is 457, 47, 43. What are we meant? Okay, we hit. Oh man, look at that. Now this is cool too. Did you see what happened here? This was a small ABC down. And it hit the D point right on too. I mean, in a monster way. But you can see from the volume already, you get a high volume spike lower. So that is on the indices. I mean, that is on the spy. It's on the cues. And you can see just looking at the volume right now. It's 605. This is going to do about 1.2, 1.3 billion. And the NYSE, and I suspect the NASDAQ is going to be a monster. Let's see what the monster is. Right now, yeah, we're at 4.1. What we did yesterday was 4.6. The NASDAQ will probably do 5 billion shares. So you're going to have a lower price, higher volume, no matter what the market does right now. Dow industry is right now down 79. NASDAQ is up 239. S&Ps are up 30. Stay right there, folks. We'll come right back.