Limitations
Vulcan trades flexibility for simplicity. The things that make it fast — automatic hosting, deployments, login, storage, scaling — work because the platform makes those decisions for you. The limitations below are the flip side of that tradeoff.
For building internal tools at Veho, these tradeoffs are almost always worth it. But it's good to know the edges before you hit them.
Platform constraints
Apps are Veho-internal only Vulcan enforces that only logged-in Veho employees can open your app. There is no way to make a Vulcan app publicly accessible.
No custom domains Apps are served at a fixed URL under nyx.shipveho.com. You can't point a custom domain at a Vulcan app.
No shared editing Only the project owner can make changes in the App Builder. You can share the live URL with anyone at Veho, but editing is single-owner. If you need someone else to take over a project, contact the platform team.
Single-page apps only Your app is served from a single page with client-side routing. Multiple views and navigation are fully supported, but they're JavaScript-driven — not separate URLs with server-side rendering. See Multi-page apps.
No WebSockets Persistent live connections aren't supported. For live-updating data, use polling (setInterval) or Server-Sent Events (SSE). → Details
No built-in email sending Email requires a third-party service (Resend, SendGrid, etc.). SMS is available via the built-in Twilio component. → Details
Veho internal data & systems
No direct access to Veho's internal systems Vulcan apps cannot directly query Veho's production databases, internal microservices, or data warehouses (Snowflake, Databricks, internal APIs, etc.). Your app runs in an isolated environment on Cloudflare — it has no network path into Veho's internal infrastructure.
What you can do instead:
- Veho Platform API — a growing set of pre-approved, read-only endpoints for common data needs (GitHub, Linear, PagerDuty, New Relic). No credentials needed — just ask the AI to use it. → Integration Components
- Public-facing APIs — if a Veho system exposes a public or authenticated REST API, your app can call it directly. You'll need to store the API key as a secret.
- Manual data entry — for many internal tools, users enter or paste the data they need rather than pulling it live from a source system. This is often simpler and more reliable than a live integration.
This is a Beta limitation, not a permanent one. The platform team is actively working to expose more Veho internal data sources safely. If there's a specific dataset or system you need access to, reach out in #eng_product_platform_team — it helps the team prioritize what to build next.
Storage & data
Preview and production data are separate Data you add in preview stays in preview. Production has its own separate storage. This is intentional — it means you can test freely without affecting your live app's data.
Deleting data is permanent Version snapshots capture your app's code, not its data. Rolling back to an earlier version restores the code but does not undo data changes. If records are deleted, they're gone.
Storage limits
| Resource | Limit |
|---|---|
| Apps per user | 10 |
| Storage per user (all projects combined) | 100 MB |
| Individual stored value | 25 MB |
| Saved versions per project | 20 |
Logs
Server Logs are not stored Logs stream live while the Server Logs tab is open. Close the tab, switch projects, or reload the page and they're gone. There's no log history. If you see something important, copy it before navigating away.
Research Workspace
URL fetching is text-only and capped at 20 KB The Research AI can fetch URLs you paste in chat, but only the first 20 KB of text content is used. JavaScript-rendered pages (SPAs) often return near-empty content since scripts are stripped. Pages behind auth (Confluence, JIRA, internal APIs) cannot be fetched — paste or upload the content instead.
Document uploads cost tokens on every turn Uploaded files are re-sent to Claude with every chat message. Large documents (PDFs, images) make every subsequent turn more expensive in tokens. Upload only what's directly relevant and remove documents when you're done with them.
Supported upload types are limited PDF, plain text, HTML, Markdown, CSV, and images (JPEG, PNG, WebP, GIF). Word docs and Excel files are not supported — export as PDF or CSV first.
Sessions are private and non-transferable Only the session owner can view or continue a research session. There's no sharing or collaboration.
Graduated sessions are read-only Once you click Start Building, you can view the session for reference but can't continue the conversation.
→ Full Research Workspace limitations
The AI
The AI makes mistakes It can write incorrect code, misunderstand requests, or silently change things it wasn't asked to. Always check the preview after every change. Use versions as a safety net before big changes.
Complex apps need multiple turns Trying to describe a sophisticated app in one message usually leads to messy results. Start with the core feature, get it working, then add the next thing. → Building incrementally
The AI can't browse the internet Unless your app explicitly calls an external API, the AI has no access to live data, documentation, or current events.
The AI doesn't remember previous projects Each project's context is self-contained. The AI knows your current project's code but knows nothing about your other projects.
Beta status
Vulcan is in Beta. That means:
- No SLA or uptime guarantee — it's an internal tool in active development. If something's broken, reach out in #eng_product_platform_team.
- No data retention guarantees — we don't plan to delete your projects, but the platform can change in breaking ways during Beta without notice. Back up anything critical.
- Things will change — new features, improved behavior, and occasional breaking changes are all expected as the platform matures.
When you hit a wall
If something you need isn't supported, reach out in #eng_product_platform_team. Some limitations have workarounds, some are on the roadmap, and some requests have helped prioritize what gets built next.