What is Stateless Execution?
When enabled, Figranium launches the browser context without loading any existing cookies, local storage, IndexedDB, or session data. Once the task completes, all session data generated during the run is discarded and not saved back to the global storage state. Think of it as opening a private/incognito window for each task run.Stateful vs Stateless
Stateful (default)
Without stateless mode, Figranium:
- Launches the browser using a persistent profile directory on disk (
data/browser-profilefor agent mode,data/browser-profile-scrapefor scrape mode). - Runs the task with the full browser context available (logged-in sessions, preferences, etc.).
- The browser profile is updated automatically — cookies and storage persist to disk as the session progresses.
- The next task run starts with those saved cookies already loaded from the profile directory.
Stateless
With stateless mode enabled:
- The browser starts as a true incognito session — launched in-memory with no disk profile directory at all (no cookies, no local storage, no session).
- After execution, all generated cookies and storage are thrown away — nothing is written to disk.
- No persistent browser profile is ever read from or written to.
Use Cases
Common use cases explained:
- Testing Logins: Confirm your login flow works for a brand-new user, with no saved cookies interfering.
- Multi-Account Management: Run tasks for different accounts without manually clearing cookies between runs.
- Scraping Public Data: Avoid being served personalized content based on previous browsing history stored in cookies.
- Privacy: Prevent cross-task data leakage when automating sensitive workflows for different users or organizations.
How to Enable in the Editor
1
Open task settings
Open your task in the Task Editor and click the Settings panel (gear icon, top-right of the editor).
2
Toggle stateless execution
Under the General tab, toggle on Stateless execution.
3
Save the task
Save the task to apply the change.
How to Enable via API
PassstatelessExecution: true in the request body when triggering a run:
statelessExecution: true into the saved task definition itself, so every run — whether triggered from the UI, API, or scheduler — always runs stateless.
Combining with Proxy Rotation
Stateless execution pairs naturally with proxy rotation. Each run:- Starts fresh with no cookies (looks like a brand-new visitor)
- Routes through a different proxy IP (looks like a different device/location)
1
Enable stateless execution
Toggle Stateless execution on in task settings.
2
Configure proxy rotation
Configure Proxy Rotation in Settings > Proxies and enable it for the task.
Isolating Multiple Identities Instead
If your goal is not a clean browser but rather separate cookies per account or tenant, stateless execution is the wrong tool — every run would have to log in from scratch. Use a named session snapshot instead: passsessionId with the run to persist cookies into data/sessions/<sessionId>.json and restore them on the next run with the same name.
See Named Session Snapshots for details.