Security & Privacy
Slidura is built for confidential client work. The defaults are conservative, the disclosures are honest, and the architecture is auditable.
We are currently in private beta. If something here matters to your evaluation, email security@slidura.com and we’ll give you a straight answer.
The honest disclosure first
The build/fill engine is pure compute — no AI reads your deck content by default. Filling is done by your own agent, on your own machine, over MCP with your own model. Slidura’s server renders the output mechanically from the fill document you submit.
There are exactly two optional hosted-AI features. Both use Google Gemini. Both are explicit opt-ins — off by default, independent of each other.
1. Catalog vision enrichment. When you enable it on a catalog, slide images from your template are sent to Gemini to auto-propose field names, descriptions, and (optionally) domain re-theming. This improves annotation work; it never touches the generated deck. You trigger it; it runs once.
2. The build assistant. A hosted Gemini chat on an open build. When you open the Assistant tab, the assistant reads your build brief, can search your stored refs, and drafts the fill through the same validation as any external agent. It only runs while you use that tab.
With both features disabled, no deck content or fill data leaves Slidura.
What we do, technically
- Per-user isolation — every template, catalog, annotation, build, and output is owned by exactly one account. Every read and write is ownership-checked.
- No unauthenticated artifact access — uploaded
.pptxfiles, catalog JSON, and generated decks are served via pre-signed, short-lived URLs to their owner only. Direct storage paths require a valid session or API key. - Pre-signed URLs for file access — uploads and downloads go through time-limited HMAC-signed URLs. The MCP channel returns a signed download URL (~15 min), not raw binary.
- Path-traversal-safe storage — every file access asserts the resolved path stays inside the storage root.
- Session auth + Google OAuth — you can sign in with email/password or via Google OAuth; sessions are cookie-based.
- API keys — generated at
/settings/api-keys, shown once, SHA-256 hashed at rest. Each key carries coarse per-route scopes (read|write|delete|build). Revoke any key at any time. - Parameterised SQL only — no string concatenation reaches the database.
- Structured observability — request-scoped structured logging, Prometheus
metrics, and OpenTelemetry tracing (including the AI/agent path, tagged with
prompt_version). Errors reported to Sentry when configured.
Hosting and data residency
Slidura is hosted in the EU . The application and its persistent storage live on the same volume.
Retention
- Templates and catalogs — kept until you delete the template.
- Generated decks — kept for 90 days by default.
- Failed builds — cleaned up after 30 days.
Compliance
GDPR / DSGVO compliant. Payments are processed by Polar.sh, which acts as Merchant of Record for tax and invoicing.
SOC 2 and ISO 27001 are not in place today. Both are under consideration once the first agency-sized engagement asks for them.
Reporting a vulnerability
Email security@slidura.com. We’ll respond within one business day.