Alt-text has technically existed on Bloomz for a while, in the sense that a field existed somewhere in the data model. What actually rendered to a screen reader, in several places, was the image’s own filename. A photo named IMG_4021.jpg isn’t a description, it’s a camera’s serial habit, and pretending it was accessibility coverage was worse than admitting the gap plainly. That’s fixed now, along with a second, related gap: image content moderation.
A real field, filled in automatically when an author forgets
Alt-text is now a distinct, persisted field, separate from a photo’s caption at every layer, the composer, the edit screen, and the feed itself. An author can still write their own description, and if they do, nothing overwrites it. But when a district has AI turned on and an image publishes without one, BLISS generates a suggested description automatically, in the background, using the same vision model and prompt template the manual “generate alt text” button already used, so a description reads the same regardless of which path produced it. It’s still fully editable before anyone sees it; automatic generation fills a gap, it doesn’t lock a field.
Apptegy already does automatic alt-text generation. Matching that baseline was the first job here. The second job, the one that makes this more than a caught-up feature, is what happens next.
One queue, not two
ClassDojo maintains a message audit log, text moderation with an admin review trail. Bloomz already had something similar for text. What neither platform does is unify image review with text review into one queue, and neither screens the images inside a direct message at all, only the visible feed.
Bloomz’s new image moderation, a vision-tier AI Gateway call checking for nudity, violence, weapons, drugs, self-harm, hate symbols, and bullying text, folds directly into the exact same moderation pipeline flagged text already runs through. Worst-severity wins when a post has both a flagged caption and a flagged image. A district sets policy per category, block, warn, or allow, the same configuration surface as text moderation already uses. One admin queue, one review workflow, whether the thing that got flagged was a sentence or a photo.
And it covers direct messages, not just the public feed. A slur typed into a caption, or an unsafe image attached to a one-to-one conversation between a parent and a staff member, gets the same screen a public post gets. That closes a gap neither named competitor covers today.
The guardrails that keep this from being expensive or wrong
Two things worth stating plainly. First, cost: image moderation only runs when a district’s Content Moderation flag is on, the same gate the free text screen already uses. There’s no separate spend cap because there doesn’t need to be one; the existing AI Gateway rate limits and monthly caps apply here exactly like everywhere else. Second, honesty about uncertainty: when the vision model’s response can’t be parsed cleanly, the result degrades to a “warn,” never silently to “allow” and never escalated to a hard “block.” Not confident enough to gate on, but not something to let through without a human glance either.
Where it lives
Auto-generated alt-text is available on Bloomz Essentials and above. Image moderation requires Bloomz Complete and above, and a district’s Content Moderation flag. See both on the Bloomz AI page.