FAQ
Frequently asked questions
Honest answers to the things prospects and trial users actually ask. Don't see your question? Email support — we read every message.
Getting started
Pluma turns any PDF into a fillable form you drive from a REST API. Upload a PDF (an invoice template, a contract, a government form), draw fields on top, then POST JSON to /api/v1/.../templates/<id>/generate to get a filled PDF back. Designed for teams that need to generate a lot of structurally-similar documents without writing PDF code.
No. The Free tier gives you 20 renders/month, 1 workspace, and 5 templates — enough to confirm Pluma fits your workflow before you spend a euro. No card on file, no auto-upgrade.
Five minutes to a working render. Sign up → upload a PDF → click to add a few fields → generate an API key → POST your first JSON. Most people produce their first filled PDF inside 10 minutes.
Plans & billing
Free: 1 MB per rendered PDF, max 6 pages per template. Essentials: 3 MB, max 20 pages. Advanced: 5 MB, no page limit. Pro: 10 MB, no page limit. Enterprise: 50 MB, no page limit. Rendering above your cap returns HTTP 413 with a clear upgrade hint — never a silent truncation. See the pricing page for the full comparison.
On Free: it's a hard cap — further renders return HTTP 402 until the quota resets on the 1st of the next month, or you upgrade. On paid plans: overage renders bill from a prepaid balance at €0.02 per render. You can top up the balance from your Billing page; we email you before it runs out.
Yes. Upgrades take effect immediately and are prorated. Downgrades take effect at the end of the current billing period (you keep what you paid for). Cancellation is one click in the Stripe customer portal we link from your Billing page — no email, no retention call.
Yes — annual prepay gives you two months free (10× the monthly price for 12 months of service). Toggle "Annual" on the pricing page to see the comparison.
Data & retention
Templates stay as long as your subscription is active — we never delete them while you are paying. On paid plans, rendered PDFs and signed documents are kept until you delete them — or set your own retention limit in Settings. On Free, rendered PDFs are kept for 30 minutes. Free plans: if a workspace goes 11 months with no logins and no API renders, we send a warning email. At 12 months, we delete the workspace's templates and uploaded files from storage and deactivate the workspace. Your user account stays — you can sign in and start fresh on Free anytime.
In the European Union (Hetzner Object Storage, Nuremberg). PDFs are private — only readable via a short-lived presigned URL we generate for the requesting tenant. We never share template content or rendered PDFs with third parties.
Yes. From your account page, click "Download my data" — owners get a JSON export with profile + tenant data (templates with field definitions, schemas, API key metadata, usage records, plus short-lived presigned URLs for source PDFs and field images). Plain JSON, no Pluma-specific lock-in. Rendered PDFs aren't bundled — pull them via the response URL or GET /renders/:id/url within their retention TTL. After export you can downgrade to Free (data dormant) or delete the workspace entirely (immediate and permanent). Deleting your account has a 30-day grace window before permanent removal.
API & integrations
The render API is plain HTTP + JSON, so anything that speaks HTTP works — curl, Postman, every backend language. There are no language SDKs yet; the OpenAPI 3.1 spec at /openapi.json is kept current, so you can generate a typed client for your stack with any OpenAPI generator. See /docs for examples.
In the Webhooks settings page, add a destination URL and pick the events you care about (job.completed, job.failed, signature.signed, etc. — the full catalog is in the docs). We POST a signed JSON body to your URL with retry-on-failure (5 attempts, exponential backoff). See /docs#webhooks for the payload schema and signature verification.
Yes — POST a job to /api/v1/:workspace/jobs with a templateId and an array of input rows. We render them in parallel, collect them into a ZIP, and webhook you when it's done (or you poll the job status endpoint). Designed for batch sizes up to 10,000 rows on Pro and Enterprise.
Security & compliance
Yes. Every account's data is strictly separated — enforced in the application and once more in the database itself — so even a software bug could not show one customer's documents to another. Generated PDFs and signed documents never leave your account.
Yes. Pluma is operated from Germany under EU law. We provide a Data Processing Agreement (DPA), keep all data in the EU, support every data-subject right (access, rectification, erasure, portability), and run a documented retention policy. See /privacy for the full policy and /dpa to download our standard DPA.
Pluma's e-signature is a simple electronic signature under eIDAS. EU law says it cannot be denied legal effect just because it is electronic, so it binds the parties for the many contracts that have no statutory form requirement. It is not an advanced or qualified signature: where a law demands written form (in Germany, for example, employment terminations or consumer credit agreements) you need a qualified signature from a trust service provider, which Pluma does not offer today. To make our signatures as trustworthy as possible, every signer confirms a consent statement, can be asked to verify their email with a one-time code, and the finished PDF carries a certificate-based digital seal, a SHA-256 fingerprint and a tamper-evident audit trail.
Every completed document gets a SHA-256 fingerprint, shown in the app and to the signers. Anyone holding the PDF can check it on our verification page at /sign/verify — the file is hashed in the browser and never uploaded. The PDF is also sealed with a digital certificate, so your PDF reader shows the seal and any later change invalidates it. The audit trail (invitations, views, email verification, consent, signatures, seal) is chained with hashes, and you can include a certificate of completion page in the PDF.
Self-hosting
Yes. Self-hosted Pluma is a single Docker container — bring your own Postgres (or use the bundled SQLite for a single-team install), give it a license key for paid features. No SMTP, no email provider, no external services required: member invites are delivered as copy-paste links inside the app. We publish the image on Docker Hub. See the Self-Host page for the 5-minute install.
Same product, same features (gated by your license tier). Hosted is a SaaS we operate — you get auto-updates, backups, and our render cluster. Self-hosted runs on your infrastructure — you control the data and uptime. Self-hosted Pro adds the Publish feature: export a workspace as a standalone renderer image you can deploy to your own customers.
Support
Sign into Pluma → click your avatar in the top-right → "Get help" opens the support page where you can open a ticket and see its history. Free tier replies in 3-5 business days; Essentials and Advanced are email next-business-day; Pro is priority; Enterprise has an SLA you negotiate at signup. For quick lookups, you're already on the right page — the FAQ.
Still stuck?
Open a support ticket from inside the app, or email us — we'd rather you get an answer than guess.