Feature Request: "Privacy Mode" to completely hide database items marked as private from view (e.g. for demonstrations)


let me explain what I mean by the above:

I can see myself wanting to show certain DevonThink workflows to people I know and perhaps even in a professional context.

However, I consider many of my files as private and filling a new database with dummy files and recreating the same structure and smart rules would be impractical.

To address this kind of scenario, I was thinking there could be a “privacy mode”, which completely hides any items marked as private from view and automatically excludes them from search, classification etc. This would work as a switch, so that items marked as private remain visible unless privacy mode is enabled.

While I could of course use a smart rule to exclude items from search, etc., it’s currently not possible to hide items from view completely (albeit temporarily) when navigating the database.

I fully recognize that this might be an individual need but thought I’d share the idea nevertheless.

1 Like

That was my first thought when I considered the effort I would have to put into marking thousands of items private (or not private, depending on the default). On second thoughts, I guess that if marking were possible at group level, I might be able to use the feature. I actually use two test databases (one encrypted, one not) for testing and demonstration purposes (generally posts here in the forum); filling dummy files was almost no effort at all, although I understand that depending on the structure of your smart rules, those could be problematic. On the other hand, I am safe in the knowledge that if I close all the other databases prior to testing, I’m not going to break or inadvertently post anything. And that’s worth a lot to me.


Just as it’s possible to mark items as flagged through smart rules, maybe it would also be possible to mark them as private. This way one could also take care of new items added to the database, which meet the criteria.

To clarify: What I’m envisioning is to demonstrate my very large database as-is in its entirety to friends or perhaps colleagues, minus one tenth of contained items that are too private. This is what makes it impractical to create a dummy database.

1 Like

+ 1

Hiding records would be great!

Here’s an idea how such an “hide” option would probably also help users who use DEVONthink as a task manager: they could hide a record and use a single Reminder script to make the record visible again in the future - so DEVONthink would have the same functionality as using a “defer date” in OmniFocus.

@AW2307 idea reminds me of my feature request Feature request: Exclude from smart group search. I couldn’t find good examples back then and still can’t, but I know that it would have been useful several times. (That’s the problem when one doesn’t immediately post a feature request: one forgets what one was trying to do. Another example of this is querying a Smart Group’s scope via AppleScript.)

1 Like

I wanted to share the approach I came up with in case someone is trying to do something similar. It’s relatively simple and practical to implement.

  1. Set up one or several smart rules that add a flag, rating or other filterable marker to all items that should NOT be hidden
  2. Use the filters in the bottom left corner to show only those items with the marker
  3. Run a smart rule to exclude all items with that characteristic (e.g. rated four stars) from See Also and Classification

To temporarily hide the items that are private, one can now simply set the filter. I found that it’s better not to exclude items to be hidden from search, as they aren’t shown anyway if the filter is active. Exclusion from search is somewhat complicated to reverse.

Limitations using this workaround:

  • One can’t use tag filters or filter for other markers without hidden items becoming visible again
  • If a new window is opened, the filter needs to be reapplied (so it’s best to avoid this in a demo scenario)

Interesting exploit of the filter panes. :+1:t2: