1 00:00:00,000 --> 00:00:03,600 Okay, welcome to the deep dive. Today we're unpacking something, well, pretty 2 00:00:03,600 --> 00:00:07,800 specific, based on sources you've shared with us, a tool called Jirafo. 3 00:00:07,800 --> 00:00:11,580 That's right. Yeah, we've looked through the docs and descriptions you sent over. 4 00:00:11,580 --> 00:00:17,150 And our goal today is really to walk you through what Jirafo actually is, its main 5 00:00:17,150 --> 00:00:20,830 features, and, you know, why it might be interesting for you. We're pulling this 6 00:00:20,830 --> 00:00:22,280 straight from the source material. 7 00:00:22,320 --> 00:00:26,950 Exactly. And before we really get into the weeds, just a quick word from Safe 8 00:00:26,950 --> 00:00:32,140 Server. They support digital transformation, and they handle the kind of hosting 9 00:00:32,140 --> 00:00:39,440 that software like Jirafo might need to run smoothly. You can check them out at www.safeserver.de. 10 00:00:39,440 --> 00:00:43,290 Yeah, getting your own infrastructure sorted is well, it's pretty fundamental for 11 00:00:43,290 --> 00:00:47,240 tools like this one. So having that support available is definitely valuable. 12 00:00:47,280 --> 00:00:51,750 Absolutely. So okay, Jirafo, right off the bat, the sources call it a project for 13 00:00:51,750 --> 00:00:56,290 one click file sharing. Let's maybe start there. What does that phrase really 14 00:00:56,290 --> 00:00:56,800 capture? 15 00:00:56,800 --> 00:01:01,180 It really gets to the heart of it. Simplicity. You've got a file, right? You want 16 00:01:01,180 --> 00:01:05,260 to share it, you just upload it to your Jirafo instance, and boom, it gives you a 17 00:01:05,260 --> 00:01:09,590 unique link. Just for that file. That's the one click idea. It's meant to be a 18 00:01:09,590 --> 00:01:12,520 really straightforward way to get a shareable link. 19 00:01:12,600 --> 00:01:16,640 Simple and direct. Yeah. Okay. And looking at the history, you mentioned it's built 20 00:01:16,640 --> 00:01:20,610 on something else. A fork, you said? Yeah, exactly. The sources point out it's a 21 00:01:20,610 --> 00:01:25,200 fork of an older project called Jirafi. It started from their version 0.5. Okay. 22 00:01:25,200 --> 00:01:29,920 And forking. Well, it just means taking the code from one project and starting a 23 00:01:29,920 --> 00:01:34,780 new separate one. The docs are pretty open about why they did it too. Apparently, 24 00:01:34,780 --> 00:01:40,000 the original Jirafi seemed, well, inactive. And the Jirafo folks wanted to build on 25 00:01:40,000 --> 00:01:42,560 that stable base, but actually, you know, 26 00:01:42,600 --> 00:01:45,920 add new stuff, improve security, actively develop it. 27 00:01:45,920 --> 00:01:50,440 Gotcha. So picking up a good idea and just kind of running with it and that new 28 00:01:50,440 --> 00:01:55,440 direction seems to have a philosophy behind it. Kiss. Keep it simple, stupid. 29 00:01:55,440 --> 00:01:57,560 How does that actually show up in Jirafo? 30 00:01:57,560 --> 00:02:00,800 Well, they mentioned it explicitly. Yeah. It's a design principle. 31 00:02:00,800 --> 00:02:04,720 The developers are really focused on that main job, simple file sharing. 32 00:02:04,720 --> 00:02:09,520 The sources even stress that Jirafo is designed not to become some big complex 33 00:02:09,520 --> 00:02:12,880 file manager, right? No extra bells and whistles beyond sharing. 34 00:02:12,880 --> 00:02:16,080 It's meant to stay lean, focused. 35 00:02:16,080 --> 00:02:21,080 And that focus, that simplicity seems connected to a pretty big technical 36 00:02:21,080 --> 00:02:25,360 detail. No database needed, just basic PHP. 37 00:02:25,360 --> 00:02:27,200 Why is that such a big deal? 38 00:02:27,200 --> 00:02:31,440 Well, in the world of web apps, needing a database like MySQL or, you know, 39 00:02:31,440 --> 00:02:34,360 PostgreSQL, it just adds another layer you have to manage. 40 00:02:34,360 --> 00:02:35,720 Right. Set up maintenance. 41 00:02:35,720 --> 00:02:40,960 Exactly. Setting it up, managing it, maybe tuning it. By only needing basic PHP, 42 00:02:40,960 --> 00:02:44,440 Girofo really lowers the bar for installation and upkeep. 43 00:02:44,440 --> 00:02:47,680 If your server runs PHP, you can probably get this going pretty easily. 44 00:02:47,680 --> 00:02:50,760 No whole database system to worry about. If it's right in with that, 45 00:02:50,760 --> 00:02:51,880 keep it simple thing. 46 00:02:51,880 --> 00:02:54,120 Okay. So simple idea, simple tech. 47 00:02:54,120 --> 00:02:57,400 But then you look at the features list in the sources and actually there's quite 48 00:02:57,400 --> 00:03:00,440 a bit it can do. It seems like it adds power without maybe breaking that 49 00:03:00,440 --> 00:03:03,920 simplicity rule. Let's dig into some of those. First off, control over the links. 50 00:03:04,160 --> 00:03:07,120 Yeah. This is pretty key for the user. When you upload a file, 51 00:03:07,120 --> 00:03:08,560 you don't just get the download link. 52 00:03:08,560 --> 00:03:12,000 You also get a separate unique delete link just for that upload. Oh, 53 00:03:12,000 --> 00:03:13,480 so you, the user, 54 00:03:13,480 --> 00:03:16,400 you have the power right away to just remove your file whenever you want. 55 00:03:16,400 --> 00:03:17,680 No need to ask an admin. 56 00:03:17,680 --> 00:03:20,640 It feels important. Yeah. Putting the control right back in your hands. 57 00:03:20,640 --> 00:03:24,080 The sources also mentioned it handles large files pretty well. 58 00:03:24,080 --> 00:03:27,920 Something about the HTML five file API, right? 59 00:03:27,920 --> 00:03:33,040 The HTML file API lets modern browsers do some file processing locally, 60 00:03:33,040 --> 00:03:34,400 like before sending the data. 61 00:03:34,400 --> 00:03:38,040 This can kind of get around some older limits on upload size. 62 00:03:38,040 --> 00:03:40,520 You might hit with PHP settings. So yeah, 63 00:03:40,520 --> 00:03:43,800 you can potentially upload much bigger files than you could with simpler, 64 00:03:43,800 --> 00:03:47,560 older scripts. It's a modern touch supporting that core function. 65 00:03:47,560 --> 00:03:52,320 Good to know if you're sharing like videos or big data sets and while it's 66 00:03:52,320 --> 00:03:54,080 uploading, you actually know what's going on. 67 00:03:54,080 --> 00:03:56,720 Yeah. The interface is designed to give you feedback. 68 00:03:56,720 --> 00:04:00,200 It shows you the progress, you know, upload speed, percentage done, 69 00:04:00,520 --> 00:04:03,600 estimated time left keeps you in the loop. Nice. 70 00:04:03,600 --> 00:04:08,640 User experience matters and it can even preview files sometimes. Yes. 71 00:04:08,640 --> 00:04:12,840 If your browser can handle the file type directly, think images, 72 00:04:12,840 --> 00:04:14,840 plain text, maybe PDFs, 73 00:04:14,840 --> 00:04:19,720 GFO can show you a preview save you a download sometimes just to check. 74 00:04:19,720 --> 00:04:23,120 Handy. Okay. Let's talk security and privacy features. 75 00:04:23,120 --> 00:04:28,440 The sources list a few options here that seem to go beyond just basic 76 00:04:28,440 --> 00:04:31,720 sharing. Yeah. There are several layers you can add optionally. 77 00:04:31,720 --> 00:04:35,520 You can password protect the upload page itself. Okay. 78 00:04:35,520 --> 00:04:39,400 So only certain people can upload. Right. And then for individual files, 79 00:04:39,400 --> 00:04:41,360 you can password protect the download link too. 80 00:04:41,360 --> 00:04:43,520 Plus you can set expiration times. 81 00:04:43,520 --> 00:04:48,240 So the link just stops working after say a day or a week, whatever you choose. 82 00:04:48,240 --> 00:04:51,800 Okay. Passwords, time limits, pretty standard. 83 00:04:51,800 --> 00:04:53,080 But then there's that other one, 84 00:04:53,080 --> 00:04:55,440 the one that sounds like something from a spy movie, 85 00:04:56,000 --> 00:04:58,480 the self-destruct option. Yeah, that's pretty cool. 86 00:04:58,480 --> 00:05:01,600 You can set up an upload so that the file and its link are just automatically 87 00:05:01,600 --> 00:05:04,200 wiped out the very first time someone downloads it. Wow. 88 00:05:04,200 --> 00:05:07,200 Perfect for sending something really sensitive that should only be seen once. 89 00:05:07,200 --> 00:05:10,360 Very neat. And the links themselves, they're shortened somehow. Yeah. 90 00:05:10,360 --> 00:05:15,000 They use base 64 encoding. It just makes those unique URLs more compact. Okay. 91 00:05:15,000 --> 00:05:16,960 What about customizing things like, 92 00:05:16,960 --> 00:05:20,880 can you set size limits or change how it looks? Oh yeah, absolutely. 93 00:05:20,880 --> 00:05:24,800 While it can handle large files, you can still set a maximum upload size. 94 00:05:24,800 --> 00:05:28,880 If you need to, you know, enforce limits on your server and language support 95 00:05:28,880 --> 00:05:33,920 looks pretty good too. The sources list flags for a English, French, 96 00:05:33,920 --> 00:05:38,440 German, Italian, Chinese, Russian, Spanish, Turkish, 97 00:05:38,440 --> 00:05:41,960 quite a few. Good range. Plus you can apply different visual themes. Okay. 98 00:05:41,960 --> 00:05:45,960 And beyond what the user sees their admin tools mentioned. Yep. 99 00:05:45,960 --> 00:05:47,840 There's a small admin interface, 100 00:05:47,840 --> 00:05:52,120 usually an admin dot PHP lets you manage uploads across the whole setup. Right. 101 00:05:52,120 --> 00:05:54,280 And for automation, there's a command line script. 102 00:05:54,400 --> 00:05:56,920 You can use it with cron jobs like admin dot PHP, 103 00:05:56,920 --> 00:06:00,080 clean expired or clean a sync to automatically get rid of files that have 104 00:06:00,080 --> 00:06:03,040 passed their expiry date. Keeps things tidy. Makes sense. 105 00:06:03,040 --> 00:06:05,800 There's also a basic API script dot PHP, 106 00:06:05,800 --> 00:06:08,560 even a bash script if you want to upload from the command line. 107 00:06:08,560 --> 00:06:12,480 And you can easily tweak the terms of service page just by editing a text file. 108 00:06:12,480 --> 00:06:16,800 Okay. Admin controls automation. That makes sense. 109 00:06:16,800 --> 00:06:19,320 But here's why I thought it got really interesting. 110 00:06:19,320 --> 00:06:23,080 Maybe even a bit surprising for a tool calling itself simple. 111 00:06:24,000 --> 00:06:28,280 File level deduplication. How does that work? Why is it even there? 112 00:06:28,280 --> 00:06:29,520 Yeah, this is pretty clever. 113 00:06:29,520 --> 00:06:32,000 It's all about efficiency for whoever's running the server. 114 00:06:32,000 --> 00:06:35,760 If different people upload the exact same file, I mean, identical, 115 00:06:35,760 --> 00:06:38,280 down to the last byte GERFO is smart enough to notice, 116 00:06:38,280 --> 00:06:42,800 instead of storing say five copies of the same PDF on the disk, 117 00:06:42,800 --> 00:06:47,080 it stores it only once. Wait, really? So five different uploads, same file, 118 00:06:47,080 --> 00:06:49,320 just one copy on the server's disk. Exactly. 119 00:06:49,320 --> 00:06:53,640 And it tracks this with a little counter for that single stored file. 120 00:06:53,680 --> 00:06:57,360 Every time someone uploads an identical copy, the counter goes up by one. 121 00:06:57,360 --> 00:07:01,320 When a user clicks their unique delete link, the counter goes down, right? 122 00:07:01,320 --> 00:07:04,280 The counter decrements and the actual file data on the disk. 123 00:07:04,280 --> 00:07:06,640 It only gets deleted when that counter hits zero, 124 00:07:06,640 --> 00:07:09,280 meaning no links point to it anymore. Wow. 125 00:07:09,280 --> 00:07:11,360 That's incredibly efficient for storage space, 126 00:07:11,360 --> 00:07:15,320 especially if people are sharing like the same company logo or a common 127 00:07:15,320 --> 00:07:17,280 document over and over for sure. 128 00:07:17,280 --> 00:07:19,880 And it makes that distinction in the admin panel clearer. 129 00:07:19,880 --> 00:07:23,080 The difference between delete link and delete file and links. Right. 130 00:07:23,080 --> 00:07:24,040 Explain that. Well, 131 00:07:24,040 --> 00:07:27,080 delete link is what the user does with their link. It just removes their access, 132 00:07:27,080 --> 00:07:30,400 lowers the counter by one. If other links still point to it, the file stays, 133 00:07:30,400 --> 00:07:33,560 but delete file and links. That's an admin action. 134 00:07:33,560 --> 00:07:38,060 It news all the links for that file forces the counter to zero and deletes the 135 00:07:38,060 --> 00:07:40,780 file itself. Doesn't matter who uploaded the original copies. 136 00:07:40,780 --> 00:07:43,160 Fascinating. A really smart feature. 137 00:07:43,160 --> 00:07:47,760 Balancing that user simplicity with server-side smarts. Okay. 138 00:07:47,760 --> 00:07:51,320 Let's shift to another powerful and maybe equally surprising feature, 139 00:07:51,820 --> 00:07:54,640 optional server-side encryption. How does that fit in? 140 00:07:54,640 --> 00:07:58,480 So this is a big privacy feature you can turn on. When it's active, 141 00:07:58,480 --> 00:08:02,080 the files you upload get encrypted on the server after they arrive. 142 00:08:02,080 --> 00:08:05,480 But this is the crucial part. The key needed to decrypt the file. 143 00:08:05,480 --> 00:08:08,080 It's not stored on the server with the file. Okay. 144 00:08:08,080 --> 00:08:09,880 If the key isn't on the server, where is it? 145 00:08:09,880 --> 00:08:13,120 The key gets generated, sent back to you, the user, 146 00:08:13,120 --> 00:08:17,560 and it's actually embedded right into the download URL, the one you share. Ah, 147 00:08:18,120 --> 00:08:21,800 so the link isn't just the location, it is the key, basically, 148 00:08:21,800 --> 00:08:23,320 the secrets in the URL. 149 00:08:23,320 --> 00:08:26,880 Precisely. And the cool thing here is what this protects against. 150 00:08:26,880 --> 00:08:30,080 Imagine the server itself gets hacked, right? 151 00:08:30,080 --> 00:08:34,280 An attacker gets access to the storage. It just find a bunch of encrypted data. 152 00:08:34,280 --> 00:08:38,720 Without those unique decryption keys, which are only in the user shared URLs, 153 00:08:38,720 --> 00:08:41,000 they can't actually read the files. 154 00:08:41,000 --> 00:08:43,880 That's a pretty strong guarantee against server breaches then, 155 00:08:43,880 --> 00:08:47,120 but the sources also flag some downsides, right? 156 00:08:47,640 --> 00:08:49,000 Enabling this has trade-offs. 157 00:08:49,000 --> 00:08:51,640 Definitely. There are several listed. First, 158 00:08:51,640 --> 00:08:54,800 encrypting and decrypting takes server CPU power, 159 00:08:54,800 --> 00:08:56,880 so it can slow down uploads and downloads. 160 00:08:56,880 --> 00:09:01,800 It also needs a specific PHP module, mcrypt, to be installed on the server. 161 00:09:01,800 --> 00:09:05,560 And importantly, it breaks that file deduplication feature we just talked about. 162 00:09:05,560 --> 00:09:06,280 Oh, why? 163 00:09:06,280 --> 00:09:09,800 Because if you encrypt the same file twice, even with the same content, 164 00:09:09,800 --> 00:09:12,280 the encrypted output will look totally different. 165 00:09:12,280 --> 00:09:14,800 So the system can't tell they were originally the same file. 166 00:09:14,800 --> 00:09:16,800 Gotcha. Can't duplicate encrypted blobs. 167 00:09:16,840 --> 00:09:17,680 Yeah. Right. 168 00:09:17,680 --> 00:09:21,320 The source has also warned that your server shouldn't be logging full client 169 00:09:21,320 --> 00:09:25,720 requests because that URL with the decryption key could end up in your server 170 00:09:25,720 --> 00:09:28,840 logs in plain text. Big security risk there. 171 00:09:28,840 --> 00:09:29,800 Thanks. Okay. 172 00:09:29,800 --> 00:09:34,080 And finally using this really, really requires HTTPS. 173 00:09:34,080 --> 00:09:38,000 You need that secure connection to make sure the URL with the key inside it 174 00:09:38,000 --> 00:09:41,040 isn't intercepted between the server and the user's browser. 175 00:09:41,040 --> 00:09:42,560 Okay. Lots to way up there. 176 00:09:42,560 --> 00:09:46,560 Privacy versus performance and losing deduplication. 177 00:09:46,840 --> 00:09:50,480 It sounds like future plans might include client side encryption though. 178 00:09:50,480 --> 00:09:53,640 Yeah. The sources mentioned that as a possibility encrypting in the browser 179 00:09:53,640 --> 00:09:56,920 before it even hits the server. That's a whole different approach, but yeah, 180 00:09:56,920 --> 00:09:58,320 noted as may becoming leader. 181 00:09:58,320 --> 00:10:02,840 Okay. Let's talk actually getting this thing running installation and crucially 182 00:10:02,840 --> 00:10:05,680 keeping it secure once it is running. What are the basics needed? 183 00:10:05,680 --> 00:10:10,400 Core requirement, PHP version 5.6 or higher. And like we said, 184 00:10:10,400 --> 00:10:14,280 no database, no mail server needed. Big plus for simplicity. 185 00:10:14,480 --> 00:10:17,920 Using Git is optional, but they recommend it for easier updates. 186 00:10:17,920 --> 00:10:21,880 Setup can be done either through a web wizard or on the command line and 187 00:10:21,880 --> 00:10:26,720 configuration mostly happens in one file libconfig.local.php. 188 00:10:26,720 --> 00:10:28,520 Okay. Seems straightforward enough, 189 00:10:28,520 --> 00:10:31,680 but once it's running and people start uploading files, 190 00:10:31,680 --> 00:10:34,360 how do you make sure those files are actually safe? 191 00:10:34,360 --> 00:10:35,960 Not just sitting there for anyone to grab. 192 00:10:35,960 --> 00:10:38,920 Yeah, this is super important and the sources are very clear. 193 00:10:38,920 --> 00:10:41,760 The main thing you need to protect is the VAR directory. 194 00:10:42,000 --> 00:10:44,240 That's where the files and linked data actually live. 195 00:10:44,240 --> 00:10:47,360 Jirifo gives it a random name, but that's not enough on its own. 196 00:10:47,360 --> 00:10:51,240 So the web server shouldn't just be allowed to serve files directly from that 197 00:10:51,240 --> 00:10:52,200 folder. Exactly. 198 00:10:52,200 --> 00:10:57,200 The sources recommend configuring your web server like Apache or Nginx to 199 00:10:57,200 --> 00:11:01,280 specifically deny anyone direct access to that VAR folder or anything starting 200 00:11:01,280 --> 00:11:06,040 like VAR. They even give examples using .htaccess for Apache or location rules 201 00:11:06,040 --> 00:11:07,920 for Nginx. So you're basically telling the web server, 202 00:11:07,920 --> 00:11:11,920 Hey, if anyone tries to look inside this specific folder pattern, block them. 203 00:11:12,120 --> 00:11:14,040 Pretty much. Or even better, 204 00:11:14,040 --> 00:11:18,840 they strongly suggest configuring Girifo to store the VAR folder completely 205 00:11:18,840 --> 00:11:21,240 outside the web server's main directory. 206 00:11:21,240 --> 00:11:23,240 Ah, outside the document route. 207 00:11:23,240 --> 00:11:27,040 Yeah. That way the web server physically can't serve anything from it. 208 00:11:27,040 --> 00:11:30,600 Direct web access becomes impossible. They mention other things too, 209 00:11:30,600 --> 00:11:33,640 like disabling directory listing, but those are less robust. 210 00:11:33,640 --> 00:11:36,480 Makes sense. Beyond protecting the data folder, 211 00:11:36,480 --> 00:11:38,960 any other basic security advice from the sources? 212 00:11:39,000 --> 00:11:42,920 Yep. Removing unnecessary write permissions after setup is mentioned. 213 00:11:42,920 --> 00:11:46,720 You only really need write access for that VAR directory day-to-day. 214 00:11:46,720 --> 00:11:52,120 And the big one, fundamental for any web service really, use HTTPS. 215 00:11:52,120 --> 00:11:53,880 Always HTTPS. Always. 216 00:11:53,880 --> 00:11:57,360 Encrypts the connection, protects logins, protects those download URLs, 217 00:11:57,360 --> 00:12:00,080 especially if they contain encryption keys, it's essential. 218 00:12:00,080 --> 00:12:01,200 Solid advice. 219 00:12:01,200 --> 00:12:03,720 Okay, let's just briefly touch on the project itself. 220 00:12:03,720 --> 00:12:07,160 The license, contributing, and just loop back on why they forked it. 221 00:12:07,160 --> 00:12:11,560 Sure. It's under the AGPL 3.0 license. Open source. 222 00:12:11,560 --> 00:12:15,320 One key thing the sources note about AGPL is if you modify the code 223 00:12:15,320 --> 00:12:18,520 and run it as a public service, you generally have to provide a link 224 00:12:18,520 --> 00:12:21,880 back to your modified source code, maybe on your Terms of Service page 225 00:12:21,880 --> 00:12:23,880 or somewhere similar. Keeps things open. 226 00:12:23,880 --> 00:12:25,400 Right. Standard for AGPL. 227 00:12:25,400 --> 00:12:28,120 And if people want to contribute or report bugs. 228 00:12:28,120 --> 00:12:31,080 The sources point to GitLab. That's where the code lives. 229 00:12:31,080 --> 00:12:33,240 They have contribution guidelines there. 230 00:12:33,240 --> 00:12:36,360 For translations, they use a platform called WebLate. 231 00:12:36,360 --> 00:12:40,840 And bugs, standard process, open an issue on their GitLab tracker. 232 00:12:40,840 --> 00:12:43,720 Okay. And that fork decision, just to remind us. 233 00:12:43,720 --> 00:12:45,960 Yeah. The reason given in the sources was simple. 234 00:12:45,960 --> 00:12:48,120 The original Jirafer project just seemed inactive. 235 00:12:48,120 --> 00:12:52,840 The Jirafer team wanted to actively maintain it, add features, fix security issues, 236 00:12:52,840 --> 00:12:56,040 starting from that stable Jirafer 4.5 baseline. 237 00:12:56,040 --> 00:12:56,680 Makes sense. 238 00:12:56,680 --> 00:12:58,520 Okay. We've covered its simple core. 239 00:12:58,520 --> 00:13:01,880 The surprisingly deep features like deduplication and encryption, 240 00:13:01,880 --> 00:13:04,600 how to install and secure it, the project background. 241 00:13:04,600 --> 00:13:07,000 So pulling all this info from the sources together, 242 00:13:07,000 --> 00:13:09,080 what's the takeaway for you, our listener? 243 00:13:09,080 --> 00:13:11,160 Well, based on everything in the sources, 244 00:13:11,160 --> 00:13:15,800 Jirafer seems to fill a really specific and I think pretty compelling niche. 245 00:13:15,800 --> 00:13:21,800 If you want self-hosted file sharing like you control it on your server, 246 00:13:21,800 --> 00:13:26,040 not relying on big cloud companies, this looks like a really interesting balance. 247 00:13:26,040 --> 00:13:30,280 It's designed to be simple upfront, especially with that no database requirement. 248 00:13:30,280 --> 00:13:33,800 But then it offers these quite sophisticated features underneath, 249 00:13:33,800 --> 00:13:38,250 like deduplication for efficiency and that optional server-side encryption for 250 00:13:38,250 --> 00:13:39,160 privacy. 251 00:13:39,160 --> 00:13:42,920 You get really fine-grained control over who gets the link and how long it lasts. 252 00:13:42,920 --> 00:13:47,080 Yeah, it's clearly not trying to be Dropbox or Google Drive, 253 00:13:47,080 --> 00:13:52,100 but for that specific job of generating and managing share links, it offers a lot 254 00:13:52,100 --> 00:13:52,760 of control. 255 00:13:52,760 --> 00:13:56,840 Exactly. It prioritizes your control, your privacy options, server efficiency for 256 00:13:56,840 --> 00:13:57,400 that task, 257 00:13:57,400 --> 00:14:00,760 assuming, of course, you're okay with the responsibility of running and securing it 258 00:14:00,760 --> 00:14:01,400 yourself. 259 00:14:01,400 --> 00:14:04,650 Which kind of leaves us with a final thought for you to chew on, maybe, after 260 00:14:04,650 --> 00:14:05,240 listening to this. 261 00:14:05,240 --> 00:14:10,840 In an age where, let's face it, handing our data over to huge, convenient cloud 262 00:14:10,840 --> 00:14:11,880 platforms, 263 00:14:11,880 --> 00:14:16,840 it's just normal. What's the real value of a tool like Girofo? One that basically 264 00:14:16,840 --> 00:14:17,320 says, 265 00:14:17,320 --> 00:14:21,960 no, you take control, you manage it, you prioritize privacy and efficiency, 266 00:14:21,960 --> 00:14:23,880 even if it means a bit more work. 267 00:14:23,880 --> 00:14:28,600 It really throws that whole trade-off between convenience and maybe digital 268 00:14:28,600 --> 00:14:30,680 autonomy into sharp focus, doesn't it? 269 00:14:30,680 --> 00:14:34,600 It really does. And if you're thinking about that path, about digital autonomy and 270 00:14:34,600 --> 00:14:35,560 self-hosting, 271 00:14:35,560 --> 00:14:39,870 remember how important solid infrastructure is. Safe Server supports digital 272 00:14:39,870 --> 00:14:40,840 transformation. 273 00:14:40,840 --> 00:14:43,640 They offer hosting solutions that could be part of that picture. 274 00:14:43,640 --> 00:14:47,160 You can find out more at www.safeserver.de. 275 00:14:47,160 --> 00:14:48,600 Yeah, the foundation matters. 276 00:14:48,600 --> 00:14:52,520 It absolutely does. Well, thank you for joining us for this deep dive into Girofo, 277 00:14:52,520 --> 00:14:56,120 based entirely on the sources you shared. We hope this gave you a clear view of 278 00:14:56,120 --> 00:14:56,840 what this tool is