The architecture of Juno is designed to give developers complete control over their data.
This is achieved by creating a unique smart contract, known as a mission control, for each developer. This smart contract is exclusively controlled by the developer and Juno has no control, rights, or access to any of the developer's creations.
When a developer signs into Juno's console using Internet Identity (1), the console backend retrieves the developer's mission control (2). This information is then sent back to the developer's browser, where they can manage their mission control and satellite (3).
A satellite refers to a smart contract deployed on the Internet Computer and compiled into WebAssembly (WASM) code.
It acts as a comprehensive entity, encompassing memory, permission checks, and other Juno abstractions. These satellites serve as endpoints that developers and users can query for various functionalities.
Once deployed and accessible to your users, a satellite operates similarly to a typical web flow. Users can interact directly with it or make authorized calls once they have logged in. Although a satellite is a smart contract, its behavior is similar to a regular web application.