Skip to content

freshGram Plugins

Write freshGram plugins in Python or in any language that compiles to WebAssembly.

Sandbox

A plugin cannot open files, sockets or processes by itself. Every action goes through a host call and is checked against the permissions the user granted.

Python and Wasm

The freshgram Python SDK, a Rust crate and a C header. Any other language needs just three exports and one import.

One protocol

All languages talk to the host with the same CBOR calls {"op": ..., "a": {...}}.

Permissions on request

The manifest lists the permissions you need with a reason for the user; without a granted permission a call returns denied.