Extensions
Extensions add features to the EtherPK app - new kinds of panels and views, support for new diagram or content types, extra commands, and integrations - built by EtherPK and, in time, by third-party developers.
Status: not yet available. Extensions are a planned feature. This page explains how they are designed to work so you know what to expect - especially around your privacy and the safety of your knowledge. Nothing here is installable today.
What an extension can do
An extension plugs into the parts of EtherPK that are built to be extended. For example, an extension might:
- add a new kind of panel or view you can open alongside your documents;
- teach the editor to render a new content type - a diagram syntax, a chart, an embed - the same way the built-in Mermaid and KaTeX support already works;
- add commands you can run from a menu or a keyboard shortcut;
- react to things happening in the app (a document changing, a graph opening) to provide extra behaviour.
The features EtherPK ships are built on the very same extension points, so extensions are first-class, not second-class add-ons.
Your extensions are yours - not your knowledge graph's
This is the most important thing to understand, and it is a deliberate safety choice.
Extensions belong to you, not to a knowledge graph. You install an extension into your own copy of the app, and it follows your account across your devices. An extension is never stored inside a knowledge graph, so:
- When you share a graph with someone, your extensions do not go with it - and theirs do not come to you.
- When someone shares a graph with you, opening it can never install or run an extension on your device. At most, a graph can suggest "this works well with extension X" - but installing it is always your own, deliberate choice.
- When you export a knowledge graph, you get plain Markdown files and your assets - never any extension code. Your export stays portable and non-proprietary, exactly as it is without extensions.
This means no one can run code on your device just by sharing a graph with you.
Safety and trust
Extensions run with full access to the app - they are powerful, which is what makes them useful, but it also means you should only install extensions you trust, just as you would with a browser extension or a desktop app plugin.
EtherPK's approach to keeping you safe:
- Review before distribution. Extensions are reviewed before they are made available.
- You decide. Nothing installs without your explicit consent.
- Untrusted is labelled. If an extension store offers extensions that have not been reviewed, those are clearly marked as untrusted so the choice is informed.
A caveat about encryption. Because an installed extension has full access to the app while it is running, it can in principle see content you have unlocked on screen, including decrypted text. EtherPK does not sandbox extensions away from this. So treat the decision to install an extension as a decision to trust its author with what you can see - and be especially deliberate about extensions if you rely on encrypted notes.
Publishing stays safe, whatever you install
If you publish part of your knowledge graph as a website, EtherPK guarantees that the published site never reveals a private or encrypted document - not its content and not even its existence. This guarantee is enforced by the app itself, after any extension has done its work, so no extension can cause a publish to leak something you meant to keep private. An extension can help render what you have chosen to make public; it can never widen what gets published.
Where extensions will come from
When extensions become available, you will be able to browse and install them from within the app. Each will show what it does and whether it has been reviewed, and you will be able to enable, disable, or remove any extension at any time. Your installed set follows your account, so the extensions you rely on are there on every device you sign in to.