Security
Security, settled in advance.
A site that sells, takes bookings and manages customer accounts holds data that isn't yours. JEIKO protects it by default: there is nothing to switch on, so nothing to forget.
Security
A site that sells, takes bookings and manages customer accounts holds data that isn't yours. JEIKO protects it by default: there is nothing to switch on, so nothing to forget.
The most attacked way into a website, and the one that opens the most doors.
Everything that enters the site is checked before it leaves again — towards your visitors or into your inbox.
script tags, on… attributes and javascript: links are removed. An editor cannot, even by accident, run code in an administrator's browser.A copy of the database — a stray backup, a resold disk — must grant no access. So JEIKO keeps its secrets in three separate places.
.env, readable by the site's own account only.Changing the secret key without losing encrypted secrets
# .env
SECRET_KEY=new-key
SECRET_KEY_FALLBACKS=old-key
# then save the Payment and Email screens again,
# and remove SECRET_KEY_FALLBACKS
Each site runs under its own Unix account, with its own database and service. HTTPS is set up at install time, and the security headers follow.
| Protection | Setting | Against |
|---|---|---|
| HTTPS required | redirect, one-year HSTS | Traffic being read or altered |
| No framing | X-Frame-Options: DENY | Clickjacking from a third-party page |
| Strict content type | X-Content-Type-Options: nosniff | A file being run as a script |
| Limited referrer | strict-origin-when-cross-origin | Internal addresses leaking to other sites |
| Cookies | Secure, HttpOnly, SameSite=Lax | Session theft and forged requests |
| Updates | system script outside the site, package checked by fingerprint | A flaw in the site turning into admin access to the server |
The site can only trigger its own update: whatever runs with administrator rights belongs to the system, not to the site. Before a release is applied, the database is backed up; if any step fails, the previous version is restored.
GDPR isn't a banner: it's a retention period, a right of access and a right to be forgotten. JEIKO applies them.
Adjusting the retention periods
# .env — in days
JEIKO_SECURITY_EVENTS_RETENTION_DAYS=365
JEIKO_USER_SESSIONS_RETENTION_DAYS=30
JEIKO_UNVERIFIED_ACCOUNT_TTL_DAYS=30
An honest tool also says what it doesn't do.