# AtlasCMS ## Pages - [Blog](https://atlascms.id/blog): Product news, engineering write ups and release stories from the team behind ATLAS, the headless CMS for many brands. - [Theme development](https://atlascms.id/docs/theme-development): Build an AtlasCMS theme package: the theme.json manifest, block definitions, templates and parts, theme options, how to upload a package and how to switch a brand to it. - [Media library](https://atlascms.id/docs/media): Upload, organise and serve images and PDFs in AtlasCMS: the signed upload flow, size limits, SVG cleaning, alt text, replace, usage guards and per brand storage. - [Translations](https://atlascms.id/docs/translations): Run a brand in several languages: translation groups, creating and tracking translations, the public fallback, hreflang links, UI strings and AI translation drafts. - [Menus and fragments](https://atlascms.id/docs/menus-fragments): Edit navigation menus and shared page parts such as the header and footer, and see exactly how a change reaches the live site. - [Forms and leads](https://atlascms.id/docs/forms-leads): Define a form, accept submissions from your site, work the lead inbox and forward leads to a CRM or to ad platforms. - [AI drafting and autopost](https://atlascms.id/docs/ai): Write, translate, improve SEO and add alt text with AI, always as a draft. Set a brand voice, watch your quota, and optionally let autopost write posts on a schedule. - [MCP and agent access](https://atlascms.id/docs/mcp-agents): Let an outside AI agent read your brand and write drafts through a scoped agent token, the /v1/agent door or the remote MCP endpoint. Agents never publish. - [Roles and permissions](https://atlascms.id/docs/roles): The editor, publisher and admin roles of an AtlasCMS brand, what each can do, how reviews, members and token kinds work, and how access to another brand is refused. - [Imports and exports](https://atlascms.id/docs/imports-exports): Bring content into AtlasCMS from WordPress, CSV or a live site, and take it out again with signed downloads. - [Backups](https://atlascms.id/docs/backups): Back up one brand's content on a schedule or on demand, choose where the archive is stored and download it with a signed link. - [Terms and Conditions](https://atlascms.id/terms): The terms for using AtlasCMS: accounts, your content, acceptable use, plans, liability and governing law. - [Privacy Policy](https://atlascms.id/privacy): How AtlasCMS collects, uses and protects personal data, under Indonesian law UU PDP No. 27 of 2022. - [License](https://atlascms.id/license): AtlasCMS is proprietary software, free to use within the Free plan limits. What you can and cannot do. - [Security](https://atlascms.id/security): How AtlasCMS keeps brands apart: isolation, roles, encrypted secrets, signed webhooks, audit trail and backups. - [About](https://atlascms.id/about): AtlasCMS is a headless CMS for companies and agencies that run many brands, made in Indonesia. - [Contact](https://atlascms.id/contact): Write to the AtlasCMS team: sales, support, data protection and security, hello@atlascms.id. - [Pricing](https://atlascms.id/pricing): Start free with one brand. Move to Paid when your team needs more brands, seats and a review workflow. - [Core concepts](https://atlascms.id/docs/concepts): Brands, entries, revisions, publish and schedule, translations, blocks and themes: the ideas behind AtlasCMS. - [Public API reference](https://atlascms.id/docs/api): Every AtlasCMS /v1/public endpoint with its parameters, response shape and caching. - [Tokens and security](https://atlascms.id/docs/security): AtlasCMS API tokens, roles and the rules that keep brands apart. - [Webhooks and purge](https://atlascms.id/docs/webhooks): Signed AtlasCMS webhooks: headers, payload, retries and a signature check in Node, PHP and shell. - [@atlas/client](https://atlascms.id/docs/sdk): The typed @atlas/client for the AtlasCMS public API: install, options, methods and errors. - [@atlas/nuxt](https://atlascms.id/docs/nuxt): The @atlas/nuxt layer: setup, configuration keys, composables, preview and purge. - [Changelog](https://atlascms.id/changelog): New features, improvements and fixes in every release of the AtlasCMS API, dashboard, SDK and themes. - [Frequently asked questions](https://atlascms.id/faq): Answers about plans, the license, getting started, publishing, brands, the delivery API and security. - [Features](https://atlascms.id/features): Brands, content, review, translations, AI drafting, forms, delivery, SEO, webhooks and MCP agents: every part of the content lifecycle in one API. - [Build the brand. Own the content.](https://atlascms.id/): Multi-brand tenancy, an append-only revision history, translations and a review workflow in one API, served to Nuxt front ends. - [Quickstart](https://atlascms.id/docs): Read your first page from AtlasCMS in about five minutes: create a read token, fetch a page with curl, the SDK or Nuxt, and refresh your site on publish. ## Posts - [Atlas Shield: spam protection built into every Atlas form](https://atlascms.id/blog/atlas-shield-spam-protection-for-forms): Signed one time challenges, invisible proof of work, Turnstile or hCaptcha when you want it, and suspicious leads held for review instead of reaching your CRM and your ad platforms. - [Dashboard 0.1.22: the notification bell counts the brand you are on](https://atlascms.id/blog/dashboard-0-1-22-notification-count-per-brand): If you belong to several brands, the bell used to add up unread notifications from all of them. It now counts only the brand on screen, the same list it opens. - [llms.txt and llms-full.txt for every brand](https://atlascms.id/blog/llms-txt-for-every-brand): Every ATLAS brand now serves llms.txt and llms-full.txt from the API, so AI assistants can read a whole site in one request. No site code needed. - [Node.js October 2026 security releases: what to update](https://atlascms.id/blog/nodejs-october-2026-security-releases): Node.js 26.12.1, 24.22.1 and 22.23.4 fix a batch of vulnerabilities, from TLS hostname checks to the Brotli decoder. Here is what changed and how to update. - [PHP fixes two critical remote code execution bugs: update now](https://atlascms.id/blog/php-critical-rce-update-now): PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 close two flaws that can allow unauthenticated remote code execution. What is affected, what to update and what to do if you cannot update today. - [atlascms.id is live, and it runs on ATLAS](https://atlascms.id/blog/atlascms-id-is-live): The product site you are reading is a brand on ATLAS like any other: its pages, menus, docs and changelog all come from the delivery API. - [How ATLAS keeps brands apart](https://atlascms.id/blog/how-atlas-keeps-brands-apart): Tenant isolation, append only revisions and ETag backed delivery: the three ideas that let one ATLAS install serve many brands safely. - [Scheduled publishing across time zones](https://atlascms.id/blog/scheduled-publishing-across-time-zones): Pick the exact moment a page goes live, wherever your readers are. How scheduling works in ATLAS and how to send the right time. - [Preview tokens that expire on their own](https://atlascms.id/blog/preview-tokens-that-expire-on-their-own): Share a draft with a client or a reviewer without publishing it. Preview tokens see drafts, are never cached and stop working by themselves. - [Webhooks with signed purge requests](https://atlascms.id/blog/webhooks-with-signed-purge-requests): When content changes, ATLAS tells your site to purge its cache with a signed request. How the signature works and how to check it in a few lines. - [One theme, many brands](https://atlascms.id/blog/one-theme-many-brands): A theme ships the layout once. Each brand brings its own colours, fonts, options and template edits, and can try a new theme before switching. - [Importing a WordPress site in minutes](https://atlascms.id/blog/importing-a-wordpress-site-in-minutes): Bring posts, pages, categories, tags and images over from WordPress with a dry run first, so you see exactly what will change before anything is written. - [Translation groups explained](https://atlascms.id/blog/translation-groups-explained): In ATLAS every language version is its own entry, linked in a translation group. Why it works that way and what you get for free. - [Faster lists with light mode entries](https://atlascms.id/blog/faster-lists-with-light-mode-entries): A blog index does not need every block of every post. Ask the delivery API for light entries and send a fraction of the bytes. - [Roles for editors, publishers and admins](https://atlascms.id/blog/roles-for-editors-publishers-and-admins): Three roles, one clear rule: who may change what visitors see. A guide to editor, publisher and admin in ATLAS. - [Media storage per brand](https://atlascms.id/blog/media-storage-per-brand): Keep each brand's images and files in its own bucket: Amazon S3, Cloudflare R2, Backblaze B2, any S3 compatible store or the server disk. - [Reading settings for any front page](https://atlascms.id/blog/reading-settings-for-any-front-page): Choose whether the home page is a static page or your latest posts, which page lists the blog and how many posts each page shows.