{
  "format": "scrubnet-page",
  "version": 1,
  "language": "en-GB",
  "title": "ScrubGraph | Private Visual Knowledge Tree",
  "description": "ScrubGraph is a free, private and local-first visual knowledge tree for organising notes and information in your browser, with portable Markdown exports.",
  "source": "https://scrubnet.org/scrubgraph.html",
  "representations": {
    "html": "https://scrubnet.org/scrubgraph.html",
    "markdown": "https://scrubnet.org/scrubgraph.md",
    "text": "https://scrubnet.org/scrubgraph.txt",
    "json": "https://scrubnet.org/scrubgraph.json"
  },
  "languageAlternates": {
    "en-GB": "https://scrubnet.org/scrubgraph.html",
    "fr-FR": "https://scrubnet.org/fr/scrubgraph.html"
  },
  "content": [
    {
      "type": "section",
      "label": "ScrubGraph hero",
      "content": [
        {
          "type": "heading",
          "level": 1,
          "content": [
            {
              "type": "text",
              "text": "ScrubGraph"
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "A private visual knowledge tree for organising information across your life"
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "link",
              "url": "https://scrubnet.org/scrubgraph/",
              "content": [
                {
                  "type": "text",
                  "text": "Open ScrubGraph"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "section",
      "id": "intro",
      "content": [
        {
          "type": "paragraph",
          "content": [
            {
              "type": "strong",
              "content": [
                {
                  "type": "text",
                  "text": "ScrubGraph"
                }
              ]
            },
            {
              "type": "text",
              "text": " combines the quickness of notes with enough structure to make information easy to organise, navigate and find again. It is a visual personal filing system without the process and complexity of a project-management tool."
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "Begin with one root and branch into work, home, learning, people or anything else that matters. Every node can hold a title, a Markdown description, a priority and any number of child nodes."
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "ScrubGraph is free to use, needs no account and keeps your knowledge in your browser. Export the complete tree or a single branch as a portable, human-readable Markdown file whenever you choose."
            }
          ]
        }
      ]
    },
    {
      "type": "figure",
      "image": {
        "url": "https://scrubnet.org/scrubgraph.png",
        "alt": "ScrubGraph interface showing the focused root node, search, editing controls and accessible branch navigation"
      },
      "caption": [
        {
          "type": "text",
          "text": "Focus on one useful part of your knowledge tree while the complete structure stays organised underneath."
        }
      ]
    },
    {
      "type": "section",
      "id": "demo",
      "content": [
        {
          "type": "heading",
          "level": 2,
          "id": "scrubgraph-demo-title",
          "content": [
            {
              "type": "text",
              "text": "See ScrubGraph in action"
            }
          ]
        },
        {
          "type": "embed",
          "title": "ScrubGraph visual knowledge tree demonstration video",
          "url": "https://www.youtube-nocookie.com/embed/zi1aJTRwmL8"
        }
      ]
    },
    {
      "type": "section",
      "id": "what-it-does",
      "content": [
        {
          "type": "heading",
          "level": 2,
          "content": [
            {
              "type": "text",
              "text": "Notes with a place and a path"
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "Loose notes are easy to capture but harder to retrieve as they multiply. ScrubGraph gives every piece of information a clear parent, a visible path and a searchable home, while keeping the experience simple enough for everyday use."
            }
          ]
        }
      ]
    },
    {
      "type": "section",
      "id": "organise",
      "content": [
        {
          "type": "heading",
          "level": 2,
          "content": [
            {
              "type": "text",
              "text": "Organise information your way"
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "Build a dependable tree around the areas and subjects that make sense to you."
            }
          ]
        },
        {
          "type": "list",
          "ordered": false,
          "items": [
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Create branches to any logical depth"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Add Markdown notes and low, medium or high priorities"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Rename, reorder and move complete branches"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Undo and redo changes during your current session"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "section",
      "id": "focus",
      "content": [
        {
          "type": "heading",
          "level": 2,
          "content": [
            {
              "type": "text",
              "text": "See what matters now"
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "Large knowledge trees stay approachable because the canvas shows the neighbourhood around your current focus rather than everything at once."
            }
          ]
        },
        {
          "type": "list",
          "ordered": false,
          "items": [
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Move through the tree by focusing on different nodes"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Choose how many nearby generations to display"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Use pan, zoom, fit-to-view and root navigation"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Follow breadcrumbs to understand your current path"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "section",
      "id": "find",
      "content": [
        {
          "type": "heading",
          "level": 2,
          "content": [
            {
              "type": "text",
              "text": "Find anything again"
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "Search works across the complete document, including branches that are not currently visible on the canvas."
            }
          ]
        },
        {
          "type": "list",
          "ordered": false,
          "items": [
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Search every node title and description"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "See each result's full path and a relevant excerpt"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Navigate through the canvas, breadcrumbs or branch list"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Keep temporary or unclassified thoughts in a separate notepad"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "section",
      "id": "edit",
      "content": [
        {
          "type": "heading",
          "level": 2,
          "content": [
            {
              "type": "text",
              "text": "Edit without losing structure"
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "Clear rules keep the tree predictable while you reshape it."
            }
          ]
        },
        {
          "type": "list",
          "ordered": false,
          "items": [
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Move a node together with all of its descendants"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Preview safely sanitised Markdown before saving"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Confirm before deleting an entire branch"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Prevent cycles, duplicate sibling names and broken relationships"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "section",
      "id": "portable",
      "content": [
        {
          "type": "heading",
          "level": 2,
          "content": [
            {
              "type": "text",
              "text": "Own a portable copy"
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "Your durable source of truth is a readable file that you control, not an account tied to a platform."
            }
          ]
        },
        {
          "type": "list",
          "ordered": false,
          "items": [
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Export the complete graph as one Markdown file"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Export one branch without exposing unrelated information"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Import, replace or merge a valid ScrubGraph file"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Restore a browser-local recovery copy when needed"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "section",
      "id": "private",
      "content": [
        {
          "type": "heading",
          "level": 2,
          "content": [
            {
              "type": "text",
              "text": "Private by design"
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "ScrubGraph is a static, local-first browser app with no account, backend or cloud database."
            }
          ]
        },
        {
          "type": "list",
          "ordered": false,
          "items": [
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Graph content stays in your browser unless you export it"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Imported files are validated before they can change the graph"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Unsafe Markdown links are blocked and raw HTML is not rendered"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Optional analytics never includes graph content, notes or searches"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "section",
      "id": "why",
      "content": [
        {
          "type": "heading",
          "level": 2,
          "content": [
            {
              "type": "text",
              "text": "Built for real knowledge, at any scale"
            }
          ]
        },
        {
          "type": "list",
          "ordered": false,
          "items": [
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "No account, subscription or installation required"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "No artificial node-count or tree-depth limit"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Only a bounded neighbourhood is drawn, keeping large trees usable"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Essential actions are available without relying on the visual canvas"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "Keyboard, touch and screen-reader friendly navigation"
                    }
                  ]
                }
              ]
            },
            {
              "content": [
                {
                  "type": "paragraph",
                  "content": [
                    {
                      "type": "text",
                      "text": "A portable format you can read, archive and move elsewhere"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "section",
      "id": "feedback",
      "content": [
        {
          "type": "heading",
          "level": 2,
          "content": [
            {
              "type": "text",
              "text": "Feedback and issue reporting"
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "If you have feedback, feature requests or want to report an issue with ScrubGraph, email "
            },
            {
              "type": "link",
              "url": "mailto:contact@scrubnet.org",
              "content": [
                {
                  "type": "text",
                  "text": "contact@scrubnet.org"
                }
              ]
            },
            {
              "type": "text",
              "text": "."
            }
          ]
        }
      ]
    },
    {
      "type": "section",
      "id": "cta",
      "content": [
        {
          "type": "heading",
          "level": 2,
          "content": [
            {
              "type": "text",
              "text": "Give every note a place to live"
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "text",
              "text": "Capture information like notes, organise it like a tree, explore the branch that matters and keep ownership through portable Markdown."
            }
          ]
        },
        {
          "type": "paragraph",
          "content": [
            {
              "type": "link",
              "url": "https://scrubnet.org/scrubgraph/",
              "content": [
                {
                  "type": "text",
                  "text": "Open ScrubGraph"
                }
              ]
            },
            {
              "type": "text",
              "text": " "
            },
            {
              "type": "link",
              "url": "https://scrubnet.org/tools.html",
              "content": [
                {
                  "type": "text",
                  "text": "Browse All Tools"
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "structuredData": [
    {
      "@context": "https://schema.org",
      "@type": "SoftwareApplication",
      "@id": "https://scrubnet.org/scrubgraph.html#software",
      "name": "ScrubGraph",
      "url": "https://scrubnet.org/scrubgraph.html",
      "applicationCategory": "ProductivityApplication",
      "applicationSubCategory": "Knowledge management",
      "operatingSystem": "Any modern web browser",
      "description": "A private, local-first visual knowledge tree that combines simple Markdown notes with a navigable structure and portable file exports.",
      "image": "https://scrubnet.org/scrubgraph/og.png",
      "screenshot": "https://scrubnet.org/scrubgraph.png",
      "isAccessibleForFree": true,
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "GBP"
      },
      "featureList": [
        "Private browser-local knowledge trees",
        "Markdown notes",
        "Whole-tree search",
        "Branch and full-graph exports",
        "Import and merge workflows",
        "Keyboard and screen reader navigation"
      ],
      "publisher": {
        "@id": "https://scrubnet.org/#org"
      }
    },
    {
      "@context": "https://schema.org",
      "@type": "BreadcrumbList",
      "@id": "https://scrubnet.org/scrubgraph.html#breadcrumbs",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://scrubnet.org/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Tools",
          "item": "https://scrubnet.org/tools.html"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "ScrubGraph",
          "item": "https://scrubnet.org/scrubgraph.html"
        }
      ]
    }
  ]
}
