Does anybody use something like Recall (e.g. OpenRecall) on Qubes OS?

Does anybody use some Recall alternative (e.g. OpenRecall) on Qubes OS?

Recall is an application that helps users remember anything they do on their PC at any time, and potentially resume or investigate it later. Essentially it’s some software that makes screenshots every several seconds and OCR them to provide text search.

Recall is a Windows name for feature from Black Mirror TV Show. OpenRecall is a free/libre and open source alternative.

Qubes OS seems to be an interesting target for such software. Because the tool can run in an always-offline qube. The part in dom0 is only required to make screenshots and qvm-move-to-vm them to some offline qube just for storing screenshots, analyzing (OCR) them and providing text search.

The amount of code for that being in dom0 is smaller and easy to review.
Sounds quite secure and productive, right?

Update:
The proposal/idea:

  1. In dom0 we make a simple 20 lines script that makes screenshots and sends them to some offline qube in specific directory. That’s all on that part. Secure and clean.
  2. In this offline qube we run OpenRecall or other app that analyze screenshots, OCR them and provides search feature. This offline qube would know a lot about what you have been doing in all other qubes, including dom0, but it is offline and never sends ANY data to other qubes, so it’s quite safe and secure.

Links:

  1. Windows Recall - Wikipedia

  2. GitHub - openrecall/openrecall: OpenRecall is a fully open-source, privacy-first alternative to proprietary solutions like Microsoft's Windows Recall. With OpenRecall, you can easily access your digital history, enhancing your memory and productivity without compromising your privacy.

3 Likes

No, I trust my own memory instead.

1 Like

I can’t even imagine a use case for Recall. What are you supposed to do with all this information?

When I think about it, ability to remember everything I do on a computer feels surprisingly useless.

1 Like

I could see OpenRecall being useful for reviewing security habits and practices within the specified session, then formulating improvements to implement afterwards.

1 Like

Ignoring the privacy and security issues, It could be a replacement for browser bookmarks.

I don’t really see how it would work in Qubes OS, I have +5 different qubes for different online tasks, and I don’t want a page from qube A to be opened in qube B.

2 Likes

Feels worse than just having a list of links. It’s like using browser history instead of bookmarks.

Using it to find a website you visited but forgot to bookmark is more interesting (especially if you don’t want to visit the website again)

hey it’s an idea

2 Likes

Most of my browser qubes don’t have long term history, having a 3rd party application that manages the browser history could maybe be useful.

When I forget to bookmark a website, it can be hard to find it again. Having a large list of bookmarks can also be difficult to use, you kinda need to search be page title.

Having some way to combine history and bookmarks, and make it easily searchable, does seem like it could be useful.

That said, I don’t know if “recall” is the solution, or if it will work in Qubes OS.

If you just end up with a massive list of searchable screenshots, it doesn’t really seem useful.

I never used this recall thing myself, but I suppose it goes way beyond what plain links provide.

As links eventually can and do down, and Google is becoming increasingly useless, I can see the value proposition of being able to fetch/search stuff you’ve experienced previously, even if you have the habit of journaling, because you never know when something becomes important afterwards.

And then you also do things outside the browser, take clipboard managers for instance. While yes you can bookmark snippets manually, I think the added context of recall would make it eaiser to, idk, locate that day you did some troubleshooting of whatever thing in your job and now you want to replay/document/share that with a coworker.
That also reminds me of automated time tracking apps, which can be useful for billing work hours and stuff.

I think possibilities are endless given enough and proper integration. Like, why screenshot the whole screen and then OCR that when you could just dump the .html+assets from the memory instead? Some sort of local/private/personal version of WebArchive. Now expand that to also save Discord threads you have seen/interacted with (because some open source communities still insist on locking content behind walled gardens).

I don’t know if openrecall can do these things, but it sure looks like it would be up their alley.

2 Likes

I’m pretty sure this already existed long before recall. Main point of recall is to violate your privacy to try to interpret the screenshots with OCR and AI. Search for personal web archiving tools that sit as a proxy between your browser and the network.

Another good use case, thanks! Although OpenRecall doesn’t seem to be able to reach that far. Combining it with some sort of analyzer for your bash history, logs, and maybe even a key log would be much more powerful.

Offtopic

I don’t know if @rustybird’s split browser can orchestrate multiple qubes or not, but even if it doesn’t, writing a hotkey script for that should be trivial.

And then you can integrate your link list however you want into your system, here’s an example with dmenu: Bookmarking for Non-Dumb People - Luke's Videos

hope it helps

That is a great point because you don’t need to write your bookmarks to a literal list. You might as well automate it into adding a whole vimwiki article in your personal bookmarking qube if you want (and then use whatever searching tool you want). Bookmarks built into modern browsers are pretty obsolete

Why another Orwell’s telescreen ?

https://blackhat.com/us-25/briefings/schedule/index.html#shade-bios-unleashing-the-full-stealth-of-uefi-malware-45786

"What Shade BIOS does

  • Retain BIOS in memory even after OS boot
    • Allows UEFI functionality during runtime (UEFI services, protocols, …)
    • Allows use of UEFI drivers during runtime to access the device

What Shade BIOS accomplish

  1. Pure-BIOS malware: Disassociate UEFI malware from OS-level security
  2. Device independent: Doesn’t need to know what device the target is using
  3. Easy to implement: Doesn’t need to implement all driver stack or access I/O directly

How to Shade BIOS

  1. Retain BIOS after OS boot
  2. Make retained BIOS code work properly in runtime"

Mine is not so reliable.

Have you ever got his “I saw it somewhere, but do not remember where it was”? In such case you type what you saw and it shows you screenshot where you saw it on some website or file directory or any other software.
The brilliant part is that software not only does not have to be compatible, but does not even know that it was recorded.

Quite easy. My idea:

  1. In dom0 you make a simple 20 lines script that makes screenshots and sends them to some offline qube in specific directory. That’s all on that part.
  2. And in this offline qube you run OpenRecall that analyze everything and provides search. This offline qube would know a lot, about what you have been doing in all other qubes, including dom0, but it is offline, and never sends ANY data to other qubes, so it’s quite safe and secure.

True, even Firefox is not possible to force have huge history (like 5+ years). So, user’s data (history, memories) are getting lost all the time.

2 Likes

I examined OpenRecall code, it’s in python.

  1. The code is simple, no enterprise over-complication, easy to modify.
  2. It has function that makes screenshots. This part can be replaced with getting screenshots from some directory where dom0 would copy them to.
  3. It has OCR, search and other features based on other pip packages (dependencies).
  4. It’s not possible to install OpenRecall from pip in fedora-42-based qube, as dependencies are kind of broken and everybody have to wait when author would fix it. It will be eventually solved.

If somebody has time, please also try to install OpenRecall in some test qube that is based on Fedora 42 and publish results here.

1 Like

I also looked at the code, to me, it seems like OpenRecall needs access to the application process and window.

https://github.com/openrecall/openrecall/blob/main/openrecall/utils.py

Maybe you can run just the ocr part, but I don’t think that would work out of the box, but I could be wrong.

2 Likes

I also suffer from “I did this once, but…”

I would love to have something which could integrate the images+OCR with a global and offline version of my beloved “bash_eternal_history”… It’s saved my bacon a few times, and regularly saved re-implementing some tricky scripting.

2 Likes

It seems to be a dead code. Just storage file for different basic functions, some of what are never used.

Update:
I was wrong, it is kind of used, but not obligatory:

So, easy to replace it by stubs.
Or name screenshots after the current app, or store active window title in a file too, the same way as screenshot, if it is useful.

1 Like

Sure, sometimes, but usually it is not worth recalling them to begin with. Anything important is practiced, self-taught, and embedded into long-term memory, while a few references have temporary elevated privileges and are speculatively indexed in short-term memory.

2 Likes