PRIVACY MODE

Table of Contents

Overview

This feature is experimental. See issue list below.

This is not a security feature: it does not encrypt or delete. It is only a visual redaction that you can turn on and off.

Demonstration(s)

๐Ÿ‘€Demonstration

How to Use

โœ๏ธInstructions:

To enable Privacy mode use the keyboard shortcut

Opt + Shft + p Mac or Ctrl + Alt + P for Windows

A page named "Roam42 Privacy Mode List" is defined in the Roam graph

This page is made for the user if they turn on privacy mode and the page is not already in their database. User will be moved to this new page, with a prompt to add blocks.

The page can also be created by the user. But it must be named Roam42 Privacy Mode List

On this Roam42 Privacy Mode List, list [[ pages ]] and tags # to be redacted in your graph -- one per block. To add, turn Privacy Mode off, add your page or tag, then turn Privacy Mode back on.

An exclamation mark ! in front of the page or tag, tells privacy mode to redact the page name or tag only when it displays, and not to redact their child blocks.

It would like this:

๐Ÿ˜Ž Cool features to try ๐Ÿ˜Ž:

Works in linked references, page search, page content.

๐Ÿ˜Ž ๐Ÿ˜Ž BEAWARE ๐Ÿ˜Ž:

If you click on the block, the redacted item will show.

This is in experimental mode: be sure to TEST in your database and make sure it is acting as you expect.

See additional cautions below.

Rules for Redaction

All blocks that fit the following requirements are covered with a back bar and thus signaled as REDACTED

Blocks that include page references for any private pages

Blocks that are indented underneath any of those blocks

Blocks that are included in the actual page contents for any of the private pages

If the private page is defined with ! (see configuration) - then only the page name or tag name are redacted, not its children

If you click on the parent block of a redaction (except where the entire page is redacted), the parent block is exposed

All redacted blocks are still live, which means they can be edited or any embedded links still work, even though you don't see content. In other words, REDACTED is not a READ-ONLY Block, it is just made unreadable.

Kanban and Table - works but is aggressive in interpretation of what should be redacted.

Diagrams - works, but good to test the results are what you expect - no guarantees

Privacy mode does not work in: Graph views, Mermaid Diagrams, alias , code blocks

Cautions

Graph views of pages are not supported by Privacy Mode

Before showing your database to others, it is very good to test the privacy mode will work in the way you anticipate.

Privacy mode watches changes in the web page and redacts information as they are shown. This means that some information may appear in just milliseconds even though not visible to the human eye, might be captured in video depending on the speed of your hardware.

Also, the browser may not always trigger page changes, causing redaction ghosts. If this happens, toggle Privacy Mode off and then back on.

Customizations

Changing the color of the redaction block:

Using roam/css the redaction formatting can be overridden. This is the default CSS selectors and definition of the Roam42 Privacy Mode

.roam42-privacy-block, .roam42-privacy-block * {
  color:      black !important;
  background: black !important;
}

Troubleshooting:

Some themes will override the default CSS settings of the Roam42 Privacy Mode. One solution to resolve this issue is to place this block of custom CSS after the CSS for your theme in roam/css.

Support

There is an active community at roamresearch.slack.com channels #roam42 and #roam-js. Stop by if you need help or want to share your ideas.