# Security

> How Lettern protects accounts, uploads and AI agents, how a change is logged, and how to report a vulnerability to a person.

## Security you can read.

The code is open. Published pages are plain files.

[Report a vulnerability](https://lettern.org/security/report)

[Security docs](https://docs.lettern.org/operations/security)

### AI agents

![The audit log: each change with who made it, through which channel, and when.]()

![The audit log: each change with who made it, through which channel, and when.]()

### Agents act as you

They sign in as a person, and can do only what that person can.

### Accounts are off limits

No agent can create tokens, change passwords or manage users.

### Content is data

Text on a site is never treated as instructions.

### Accounts

![A role for a restaurant’s team, with a checkbox for each permission.]()

![A role for a restaurant’s team, with a checkbox for each permission.]()

### Argon2id

Passwords are hashed with it, and sign-in is rate limited.

### Two-factor

With any authenticator app, and one-time recovery codes.

### Roles

Give each person only the permissions they need.

### Publishing

![The dashboard just after publishing: the site is up to date and its pages are live.]()

![The dashboard just after publishing: the site is up to date and its pages are live.]()

### Plain files

Most requests never reach PHP or the database.

### Nothing personal

A build renders as an anonymous visitor, so no session ends up in a page.

### Uploads checked

Files are identified by their contents, and the public folder never runs PHP.

## Found something?

A person reads every report.

1

### You tell us

The affected version, and how to reproduce it.

2

### We reply

We confirm what we found, and agree a date with you.

3

### We fix it

The fix ships on its own, free for everyone.

4

### We publish

We aim for 90 days at most, and credit you unless you’d rather we didn’t.

## Questions

**Do security fixes cost anything?**

No. Core and security updates are free for every site, with or without an account.

**Does it call home?**

Never from a public page. It checks for updates at most every 12 hours, sending only its version, and you can turn that off. A site with a paid plugin also asks for a current licence, once a day at most.

**Are plugins sandboxed?**

No. Plugins are PHP with the same rights as the site, so install the ones you trust. Store plugins are scanned and reviewed before they’re listed.

**Where do advisories appear?**

In the changelog once a fix is out, with CVE numbers where assigned.

---
Source: https://lettern.org/security · Updated 2026-10-30
