For best results, open this app in Chrome, Firefox, or Safari.
SharedArrayBuffer support required for fontc WASM threading.
You need to sign in to use the Assistant. You'll be redirected and then brought back here.
The Assistant is available with an Advanced subscription.
Upgrade to Advanced to access the Assistant.
Choose a font source and location.
Log in to save and open fonts from the cloud.
View the complete Python API documentation for the Font Object Model:
This policy is for the Counterpunch Font Editor (editor.counterpunch.space), including Help in this app. It does not cover the marketing website, login, or account pages. Those are in the website privacy policy.
Sign-in. The editor uses the same account as the website. Email, login links, plan, and billing are described in the website privacy policy. This app only needs that session to know who you are.
AI Assistant Prompts. When you use the AI assistant, your prompts and a snapshot of the current editor state are sent to OpenRouter via our proxy. This snapshot may include text buffer content, glyph names, feature states, variation axis positions, or font data extracted by Python scripts running in your browser — only what the assistant needs to answer your request. Font data is extracted as lean, targeted metrics, not entire font files. Complete font files are never sent to an AI server, and your data is never used for model training. Only billing metadata (generation IDs, token costs) is retained on our servers. Prompt history is discarded.
Error Reports. If an error occurs, we may store a technical error report including a font asset with contextual information to help diagnose the issue. While in Alpha and Beta phases, including your currently loaded font asset in error reports helps us identify and fix issues and the decision to include font assets is in our discretion. Once the software is stable, including font assets in error reports will be optional and you will be prompted to confirm before sending.
Local fonts. Disk and Memory fonts stay on this computer. They are not uploaded unless you Save As to Cloud, accept a cloud invite, or an error report includes a font as declared above.
Cloud fonts. If you Save As to Cloud or open an invited font, we store the live font (shared font data, how glyphs depend on each other, and each glyph’s outlines) so invited people can edit with you. That is not end-to-end encryption. Unsent edits can stay in this browser until they sync. Viewers, revoked access, a failed local log, and required updates can leave the font read-only. Deleting the cloud font from the editor stops live access and removes the stored font as part of that process.
Cookies. We set only one cookie: editor_session, which is strictly necessary for authentication. No analytics, tracking, or advertising cookies are used. Therefore, no cookie consent banner is required.
Local Storage. The editor uses your browser’s local storage and session storage to persist preferences (theme, view layout, script editor content, text buffer, plugin state, filter settings) and, for cloud fonts, unsent edits. Preferences stay in this browser. Unsent cloud edits leave only when they sync.
We use your data to operate the editor: live cloud editing, AI assistant requests, and diagnosing technical issues. We do not sell, share, or use your data for advertising or profiling.
OpenRouter. AI assistant requests are routed through OpenRouter, which processes prompts and returns responses. OpenRouter’s privacy policy applies to that processing.
Stripe. Subscription payments are processed by Stripe. We receive only subscription status and identifiers; full payment data is governed by Stripe’s privacy policy.
Cloudflare. The editor and cloud fonts are hosted on Cloudflare (Pages, Workers, Durable Objects, R2). Cloudflare may process IP addresses and request metadata as part of its infrastructure.
DeepSeek. The AI assistant is powered by DeepSeek’s models via OpenRouter. Prompts may be processed by DeepSeek in accordance with their privacy policy.
Cloud fonts are kept while the font exists. Account data is retained as described in the website policy. AI billing metadata is retained for financial record-keeping. Error reports are periodically purged.
Depending on your jurisdiction, you may have the right to access, correct, delete, or port your data. Contact us at [email protected] to exercise these rights.
We may update this policy. Material changes will be notified via the editor or by email.
Last updated: September 2026
This shows how much browser memory the font editor is using. The cache table updates every second while this panel is open.
A significant portion of memory is shared across all browser tabs running this app. This includes:
💡 To fully free memory, you must close ALL tabs with this app, then reopen in a fresh tab.
The first table is the V8 JavaScript heaps. Canvas tile bitmaps are listed separately under DOM; they are not part of Used.
Updates every second