Skip to content

Everything an ad server needs. Nothing it doesn't.

Serve, schedule, track and secure ads from one panel you host yourself.

Three creative types, one embed line.

Whatever you sell or promote, it fits a zone.

  • Image ads

    Upload a banner, set the click URL, alt text and whether it opens in a new tab.

  • Video ads

    Upload a video. Files are checked by their actual content, not just the extension.

  • HTML ads

    Paste your own HTML. It runs in a sandboxed iframe and cannot reach the page it appears on.

  • Zones and fallbacks

    Size each zone in pixels, percent or auto. Show fallback HTML when no campaign matches.

Campaigns that spend like you planned

Pick the campaign type that fits the deal, then let pacing do the maths.

  • Budget campaigns billed by CPM
  • Impression-limit campaigns
  • Fixed-period campaigns with an end date
  • Daily pacing and smart boost
  • Priorities per zone, weighted rotation
  • Session frequency caps and URL targeting
Campaign list with sample campaigns.
Campaign list with sample data

Counts you can trust, data you don't have to hoard.

No IP addresses stored

Impressions and clicks are counted without keeping the visitor's IP.

Consent first

The seco_ cookie only exists after the visitor consents. Without it ads still run, only unique clicks and frequency caps switch off.

Signed click redirects

Click links are HMAC-signed, so the tracker cannot be abused as an open redirect.

Reports

Impressions, clicks, unique clicks, CTR, device and optional country. Export CSV or PDF.

Made for people who would rather not babysit it.

Setup wizard
A guided first campaign: advertiser, zone, ad, embed line.
HTML5 template builder
Build simple HTML ads from templates inside the panel.
Budget alerts and automatic jobs
Background workers handle boosts, budget alerts and clean-up.
Docker, any host
One compose file. Runs on a VPS, a Droplet, Fly.io, Render or any container host.
English and German panel
Switch the panel language per user.

Hardened before you touch it.

Sign-in lockout

django-axes locks out repeated failed sign-ins.

Two-factor login

Optional TOTP with backup codes. Can be required for all staff.

Argon2 passwords

Passwords are hashed with Argon2.

Strict CSP and rate limits

A strict content security policy, request rate limiting and bot filtering.

Every day without ads is income you don't get back.

One payment. Every project. Start earning today.