Active Tags without a framework rewrite
Identity is the door: try it, install it on PHP, keep principals distinct, pick stock OIDC or the M7 path.
The next layer is the page itself. Most teams do not need a new renderer. They need browser work — forms, fetches, waits, errors, navigation — that does not scatter across listeners and helper files. Active Tags is that layer. It is not a second Identity launch.
What it is
Active Tags is a compile-first browser workflow runtime. You declare behavior on the DOM. It compiles those declarations into jobs and runs each execution as a ticket: status, buffer, target, wait, error, completion.
The server can keep owning HTML. Progressive enhancement, PHP templates, or an SPA shell you already have. Active Tags does not take over routing, rendering, or application JavaScript. Built-in operations and your own operations share the same job and ticket contracts.
m7.js is the runtime substrate underneath. Active Tags is the declarative layer on top. Together they are an incremental frontend, not a framework migration.
This site uses it: contact submit, spa-link navigation, session chrome. The clickers in the header are real hidden targets; visible buttons proxy onto them. That is the same pattern — named actions, not ad-hoc onclick.
What it is not
It is not React. The goal is not a virtual DOM or a component tree you must rewrite into. The goal is inspectable workflow on the page you already ship.
It is not at the same public-release shape as Identity. Identity has checksummed PHP zips on m7.org/downloads and a development-access page. Active Tags is still labeled internal platform / external release hardening on its product page. The download there is the GitHub tree, not an M7 zip with a sidecar. Do not pretend those are the same door.
Federation is a third layer and still developing. Siglatch and M7 Script are other lanes. You do not have to take them to use Identity, and you do not have to take Active Tags to sign users in.
When to reach for it
Use it when the page needs a sequence: submit, wait, recover, update a region, go somewhere, fail visibly. Keep authorization, HTML, and domain rules in the application. Active Tags governs the browser workflow, not the product.
Start at Active Tags. The 1.0 production-worthiness note is already on this site if you want the engineering spine. This post is only the adoption rule: keep the renderer, name the workflow, do not rewrite the app to get discipline in the browser.