How Sparks Work
A Spark is a web page written by Lino AI. Because that page is generated, Lino runs it in a sandbox: a sealed box that can show you things and react to your clicks, but can't reach your files, your accounts or the internet on its own. Everything a Spark gets from Lino, it gets by asking — and Lino only answers the requests listed on this page.
Saved data
A Spark can save what you do in it — a high score, a list you typed, the slider positions you left it on — and find it again next time.
- One set of data per Spark. The data belongs to the Spark, not to where it is shown. Run it on a Canvas, then open it in the Right Panel: you see the same data. If the same Spark saves in one place while it's open in another, the other one updates.
- Saved with your Workspace. The data is stored in your Workspace along with the Spark.
- Changes to the Spark keep your data. When Lino AI modifies a Spark, its saved data is left exactly as it was. Remix gives the copy its own copy of the data.
- Starting data. When Lino AI builds a Spark from your Canvas, it can give the Spark starting data, such as the material it gathered from your Cards.
Example: a flashcard Spark saves which cards you got right. You close it, come back tomorrow from the Right Panel, and it picks up where you stopped.
Tables a Spark may read
A Spark can read a Table only if it has been given permission for that Table. Lino AI grants this when it builds or changes the Spark — so if you want a Spark to work from a Table, mention the Table in your message ("Build a Spark that charts the Reading Log Table by month").
- The Spark reads the Table as it is now, so new rows show up the next time it reads.
- It can only read. A Spark can't change your Tables, Cards or anything else in your Workspace.
- To take a Table away, ask Lino AI to remove that Table from the Spark.
Images
A Spark can show an Image from your Canvas. Ask for it in your message ("use the photo of the plate on this Canvas as the background"), and Lino AI points the Spark at that Image.
Light and dark
Sparks made by Lino AI follow Lino's light or dark appearance. Lino keeps a light and a dark cover for them, so a Spark's cover matches the app when you switch. Older Sparks, and the Sparks that come with Lino's templates, always use a light look.
Built-in libraries
A Spark can't load code from the internet, so Lino brings a few libraries with it:
- three.js for 3D scenes.
- A charting library for financial charts, such as candlestick (K-line) charts.
- Google Fonts, the one outside source a Spark may load.
What a Spark can't do
The following are blocked. The rules are enforced by Lino around the page, not just written into Lino AI's instructions:
- No direct internet access. A Spark reaches the internet only through Lino's broker, and only for the sources listed in Live Data.
- No outside scripts, stylesheets, pictures or fonts, except Google Fonts.
- No browser storage, cookies, pop-up windows or alert boxes. Saved data is the only way a Spark remembers things.
- No access to your files or to anything in your Workspace it hasn't been given.
When a Spark tries something blocked, it simply doesn't work inside the page — nothing outside the Spark is affected.
Lino AI and your Sparks
- Lino AI can read your Sparks and change them when you ask. To keep one out of Lino AI's reach, right-click it and turn on Hide from AI (see Privacy).
- When Lino AI builds or changes a Spark, it loads the page out of sight and fixes errors that happen as the page starts. When an error happens later, while you're using it, Lino shows it over the Spark with a Fix with AI button (see Change a Spark with AI).
- Any button that asks you to do something about an error is drawn by Lino, on top of the Spark — never by the Spark's own page.