Terms

The rules of using this site, plainly.

philipsloth.com is a personal portfolio site run by Philip Sloth from Denmark. There's no account to sign up for — but clients I work with can pay invoices and subscribe to ongoing services through personal payment links I issue. These are the practical terms that apply when you browse the site, send me a message, or use one of those links.

Using the site

You're welcome to read, link to, and share anything on the public pages. Don't try to break it, abuse it, or use it to attack other sites — automated scraping that ignores rate limits, attempts to bypass authentication on /admin, or otherwise interfering with the site's normal operation isn't allowed.

The contact form runs behind Cloudflare Turnstile (CAPTCHA) plus a per-IP rate limit at my backend service. Repeated abusive submissions — bots, harassment, malware-laden attachments — get blocked before they land, the IP is logged for 90 days as security telemetry (per the Privacy Notice), and persistent offenders may be reported to Cloudflare abuse + their ISP.

The contact form

When you submit the contact form, your name, email, message, and any optional fields you filled in are sent to my inbox and stored in my self-hosted PostgreSQL database on a Hetzner server in Nuremberg, Germany (EU region). I keep them so I can respond and follow up on real projects. Details on retention and how to request deletion are on the privacy page.

Submitting the form means you confirm the information is yours to share. Don't submit other people's contact details, and don't use the form for spam, illegal content, or anything you wouldn't put in a normal email.

Copyright and IP

The text, code samples, screenshots, and diagrams on this site are either my own work or used with permission of the rightsholders (e.g. client projects shown in the portfolio). Project case studies describe my contribution; the underlying products belong to the clients. You can quote short excerpts with attribution and a link, but please don't republish the whole site or pass off my work as your own.

Logos and brand marks shown in the stack icons (Next.js, Supabase, Cloudflare, etc.) belong to their respective owners and are used here purely to identify the technology stack.

No warranty

This site is provided as-is. I aim for high uptime and accuracy but don't guarantee either. Information here — including the project case studies — is for showcasing my work, not technical advice you should rely on for production decisions. If you're building something based on what you see here, validate it against the underlying tools' documentation.

Changes to the site

I update the site regularly — new projects, new posts, architecture changes. Old URLs may redirect or 404 over time. If something breaks for you, email me and I'll usually fix it.

Paid engagements

When you pay an invoice or use a payment link issued by me — at philipsloth.com/p/... or through any Stripe Checkout session I've generated — the engagement is governed by the Payment Terms. The Payment Terms cover deposit / final / single payment workflows, refund rules, the consumer 14-day right of withdrawal under Forbrugeraftaleloven, the liability cap, and what happens to third-party services (hosting, database, email, payment processing) after I hand a project off to you. Read them before you pay — by paying you accept them.

Subscriptions

Some services — typically hosting, maintenance, and ongoing support — are billed as a recurring subscription through a personal signup link at philipsloth.com/s/.... The price, billing interval, and service description are shown on the signup page and in Stripe Checkout before you pay anything. The first amount is charged on signup; after that the same amount is charged automatically each period until the subscription is cancelled. There is no lock-in beyond the current paid period and no hidden fees.

Cancellation is self-service: open your subscription page and choose "Manage subscription" — a secure portal link is emailed to you, where you can cancel, update your payment method, and view invoices. Cancellation takes effect at the end of the billing period you have already paid for, and you keep access until then. You never need to contact me to cancel — though you are always welcome to.

Consumers (B2C) have a 14-day right of withdrawal under Forbrugeraftaleloven. If you ask for the service to start during the withdrawal period and later withdraw, you pay proportionally for the part already delivered (§ 25). Consumer subscriptions are billed monthly only, in line with the notice limits of § 28. Every charge produces a receipt by email, normally with a PDF attached, and price changes are announced by email before the billing period in which they take effect — if you disagree with a change, cancel before it starts and pay nothing further. Business (B2B) subscriptions may run quarterly or yearly and collect a VAT number instead. The detailed engagement terms in the Payment Terms apply to subscriptions too.

Governing law & jurisdiction

These terms are governed by Danish law. The Danish courts have exclusive jurisdiction over any dispute arising under or in connection with these terms, save that a consumer's right to bring proceedings in their country of residence under EU consumer-protection law is preserved. The operator is based in Denmark and the database lives in an EU region.

Contact

Questions about these terms, takedown requests, anything else — email me at philipsloth1@gmail.com. I'll respond within 30 days.