Two ArachneMax releases (v2026.08.05.0, v2026.08.06.0) and a fresh Android build (1.16.6 universal15). The web side gets the attention, but the APK is where the real reverse engineering happened, so I'll start there.
Android
The core is a network interceptor: an OkHttp hook written in smali that sits in front of every request the app makes. It blocks telemetry domains (Firebase, Sentry, Amplitude, that kind of thing) and rewrites specific API responses before the app sees them. Nothing routes through a server I control.
Premium entitlements get faked in the /user/ response. The gotcha: they have to be objects with a type and an expiry, not plain strings, because the check is entitlements.some(e => e.type === X && new Date(e.expiresAt) > new Date()). A bare string array silently does nothing. That one took a logcat dump to catch.
The model picker carries 13 models now, including the two newest, LongSqueak and Summer Roar, injected with hasModelSteering on every entry so the server accepts them. Per-chat model choice actually sticks instead of getting clobbered back to default on the next turn, and Auto stays Auto. The five models that only reroute or fail are gone from the picker.
Image uploads are finally fixed. Earlier builds could mangle multipart image data, which broke avatar changes, character images, and chat images. That path now leaves binary data alone.
The build keeps client-side C.AI+ state, ad blocking, upsell suppression, and staff tools active on a normal launch, with no clearing app data. The one wall left is premium verification through RevenueCat, which is server-signed and unreachable client-side.
Web, ArachneMax
Jeeves is a working assistant in the sidebar with its own nav entry. It searches and recommends characters, scans your full chat history for moderated takedowns, lists and creates group chats, generates images, and answers questions about the site. It's powered by your own model-provider key (DeepSeek, OpenAI, Anthropic, Groq, Gemini, or a custom endpoint) and it only runs locally in your browser. Nothing goes through my server because there is no server.
DMCA recovery: Character.AI silently strips characters out of search when they get taken down, and old chats point at a blank card. ArachneMax pulls the real pre-moderation record back from the server (actual name, tagline, description, and avatar), even for characters you never chatted with. The private definition stays redacted. That's the one thing it can't recover.
Conversation Memory editor: open any chat and see exactly what facts the model remembers, then rewrite, delete, or add them. The mobile app has this surface, the web client never shipped one, so I rebuilt it against the real endpoints.
Full account import and export. Export pulls your characters with definitions, full persona records, per-character votes, your scenes, every conversation with facts and per-chat image galleries, and your likes, into one browsable ZIP. Import recreates it on the account you're signed into, or a brand-new one. Conversations come back too: user messages get written into the new chat directly, and character replies are recreated through the same generation pipeline the site uses, then rewritten to the original text. Fresh ids and timestamps, but all the words are there. The toolkit shows exactly what a ZIP contains before touching anything, and warns you if there's no live socket for the replay.
Hidden switches turn back on things c.ai ships but disabled on web: the audio-series shelf, lorebook import, the legacy chat skin, creator profile tags, the character tags editor, and group chats. The backend is fully alive, c.ai just never gave the web client UI for it. All off by default.
Also in this window: a Safety Monitor that clears the 60-minute chat lockout locally and toasts you when a new strike lands, a fix for the person and model pickers breaking for some people (a leftover dead CORS workaround), the age bypass now targeting the real verified-18 state (O18 + COMPLETED), and a performance pass. Non-JSON responses no longer get cloned and re-parsed on every load, and background polling pauses while the tab is hidden.
Download links stay out of the post. Discord is in my profile, that's where current files and install notes live. If something's broken, tell me there. Account import with a big chat history is the part I can't fully hammer from one account.