docs/reference/control-plane-api.md sections 4.2.1 and 5.
Enrollment modes
The mode is on the operator Settings tab, under Enrollment mode, or throughGET and PUT /api/operator/settings/enrollment-mode with {"mode": "open"} or
{"mode": "approval"}.
- The mode is read at each enrollment, so a switch applies to the next enrollment without a restart.
- A switch never changes existing projects. Projects that are
activestay active when the mode becomesapproval. - Every switch is in the audit log as
settings.enrollment_modewith the old and new mode. Setting the mode it already has writes nothing.
docs/compliance/terms.md). A user can create at most 10 projects per day.
The review queue
The Review queue tab lists, oldest first:- projects with status
pending(enrolled while the mode wasapproval, or resubmitted after a rejection); activeprojects with a site in review. A site is put in review when its domain equals, is a subdomain of, or is a parent of the domain of a site of a removed project, even inopenmode. This stops a removed project from coming back under a new name with the same domain.
Evidence shown for each site
Two signals help to judge whether a project is built on Stellar. Neither decides anything, and neither gates ingestion.- Domain verification. The project proves control of a site’s domain with a DNS TXT
record or a file under
/.well-known/(contract 5.8). A site showsverified,unverified(with the last error) orunchecked. Thejobstaskverify-domainsre-checks every site daily. - stellar.toml. The service fetches
https://<domain>/.well-known/stellar.tomlat site creation and daily, and shows whether it was found, the network passphrase it names, how many accounts and currencies it lists and whether their keys are valid strkeys (contract 5.12). No free text from the file is stored or shown.
Actions on a project
On the project page the console shows only the actions that are valid from the current status. Each one asks for confirmation.- Any other combination is refused with
409 invalid_transition, and so is repeating an action on a project already in the target state, so a double click never writes two audit rows. - The reason is stored on the project and shown to its members in a banner on every project page. Approve and resume clear it.
- Each action writes one audit row (
tenant.approve,tenant.reject,tenant.suspend,tenant.resume,tenant.remove) with the old and new status and the reason.
Actions on a site in review
A site in review shows In review on the project page, with Approve site and Reject site. Approving makes the site active and it starts receiving traffic. Rejecting requires a reason, sets the site toremoved and shows the reason to the owners. Sites of a
pending project are not approved one by one; they are approved with the project. Audit
actions: site.approve, site.reject, and site.review_queue when the site entered review.
Finding projects
The Projects tab searches name, slug, website and site domains, filters by status, and sorts by enrollment date, last status change or name. Through the API the same list isGET /api/operator/tenants, and review=true gives the review queue.
Checking what happened
The Audit log tab filters by project id, action (exact, or a prefix ending in a dot such astenant.), actor (user:<id> or system:<task>), target and a time range of at most
400 days. The same list is GET /api/operator/audit.