Hholistisinlongevityai.hashnode.dev·Jun 5 · 7 min readI Added Legal Compliance Checks to My E2E Test Suite for €0. Here's How (and Why a Non-Developer Had To).I am not a developer. I run a health AI platform in the Netherlands called Longevity AI. It generates personalized health reports using LLMs, auto-publishes blog posts about longevity, and operates un00
Hholistisinlongevityai.hashnode.dev·Jun 2 · 1 min read# Why I Built a Halal-By-Design AI Image Pipeline I run [Longevity AI](https://longevityai.nl), a Dutch holistic health platform. When I plugged Stable Diffusion into my blog pipeline, the first batch of "wellness" images came back with a Buddha statue, a Catholic crucifix on a yoga studio wall, and a person doing salah pose toward Mecca. My audience is mixed. Muslim, Christian, Hindu, secular. I needed a filter. So I built one. I called it the halal filter, because halal is the strictest standard. If an image passes halal, it passes for everyone. Catholic readers, secular yoga teachers, kids using the platform, atheist HR buyers. The strictest filter is also the most universal one. Here is what I built, why "halal" is a useful label even outside Islam, and what you can copy. ## The Problem: AI Image Generators Have No Brand Sense Stable Diffusion, Flux, DALL-E. They generate religious imagery by default if your prompt has any spiritual undertone. Ask for "meditation" and you get a Buddha. Ask for "calm bedroom" and you get a candle next to a crucifix. Ask for "morning routine" and you get prayer beads. The AI is not wrong. It reflects training data biased toward stock photography where meditation equals Buddha and serenity equals religious iconography. That is a fact about the internet, not about meditation. For a Dutch holistic health platform this is a brand nightmare: - Muslim readers see a Buddha in a wellness article and close the tab. - Christian readers see a Hindu deity and wonder what kind of platform this is. - Secular readers see religious symbols and think the site is preachy. - Schools using the B2B bundle see a deity statue and parents complain. The image is fine for an American wellness site where Buddha aesthetics are baseline. It is not fine for the Netherlands, where the audience is religiously plural and the trust threshold is high.  ## The Halal Lens (Why It Matters Even If You Are Not Muslim) Halal as a concept goes further than most filters. It says: do not depict the divine, do not encourage worship of created things, do not show prayer rituals as decoration, do not undress for the camera. The Islamic prohibition on imagery of deities, combined with strict modesty rules, creates a very high bar. Here is the key insight. If your image pipeline passes halal, it passes every other religious and secular standard too. - A Catholic parent will not be offended (no other gods). - A Buddhist will not see their iconography mishandled. - A secular user will not see religious symbols at all. - A modesty-conscious brand will not see exposed bodies. - A child-safety reviewer will not see anything they need to flag. The reverse is not true. A Buddhist-safe image might still contain a crucifix. A secular-clean image might still show prayer beads. Halal is the upper bound of restrictiveness, which is exactly why it makes a great brand-safety default for any audience. I do not think non-Muslim devs need to become Muslim to use this filter. I think they should steal the idea. Strictest filter equals most universal compatibility. ## The Code (Less Than 100 Lines) Here is the actual blacklist (50+ keywords, no LLM call needed): ```typescript const RELIGIOUS_BLACKLIST = new Set([ "buddha", "buddhism", "deity", "gods", "god", "worship", "prayer", "praying", "temple", "shrine", "sacred", "holy", "altar", "religious", "monk", "nun", "bible", "quran", "torah", "church", "mosque", "synagogue", "hinduism", "hindu", "brahmin", "idol", "idolatry", "cross", "crucifix", "saint", "miracle", "spiritual", "mystical", "ceremonial", "ritual", "chakra", "mantra", "zen", "tibetan", "vatican", "pilgrim", "communion", "baptism", ]); function sanitizeImagePrompt(prompt: string): string { const lower = prompt.toLowerCase(); for (const banned of RELIGIOUS_BLACKLIST) { if (lower.includes(banned)) { return prompt .replace(new RegExp(banned, "gi"), "wellness") .replace(/\s+/g, " ") .trim(); } } return prompt; } ``` That is the whole thing. Two pieces: a blacklist set, and a sanitizer that replaces any flagged term with the neutral word "wellness". The sanitizer is called before every image-generation API call (Stability AI, Flux, DALL-E, even Pexels search). The image API never gets a chance to generate the offending image, because the prompt is rewritten before it leaves my server. ## The Universal Lesson: Hardcode Your Brand Boundaries You cannot trust the LLM to know your brand. Stable Diffusion does not know my audience is Dutch-Muslim. DALL-E does not know my B2B clients include schools. Flux does not know my CEO is religious. Brand boundaries belong in code, not in prompts. The mistake most teams make is telling the LLM "do not include religious imagery" in the system prompt. This works 80% of the time. The 20% leak is what gets you on Twitter. A hardcoded blacklist plus a sanitizer is 100%. Every image-prompt passes through. No exceptions. No "the AI was being creative". Even if you do not care about religious imagery specifically, you almost certainly care about something else: - **Children's apps:** no firearms, no violence, no romantic imagery. - **Medical platforms:** no procedures shown out of context. - **B2B SaaS:** no political symbols, no celebrities, no competitor logos. - **News publishers:** no copyrighted IP. The pattern is the same. Build a blacklist. Build a sanitizer. Never trust the LLM to enforce your brand. It does not know your brand.  ## The Trade-Offs (Be Honest) Three trade-offs to call out. **1. False positives.** "Yoga in a temple" gets sanitized to "yoga in a wellness". Not ideal. The replacement is graceful degradation, not perfect rewriting. For a brand-safety filter, false positives are cheaper than false negatives. **2. Reduced creative range.** I cannot generate a Diwali-themed wellness post easily, because "diwali" is not in the blacklist but the visual will likely include diyas near deities. I would need to add it. The blacklist grows. **3. Cultural blind spots.** My blacklist was built from a Western-Muslim perspective. A Hindu reader might find it incomplete. A Buddhist reader might find it over-zealous. I update it when I learn about gaps. This is not a finished product. The point. The filter is intentionally conservative. For a health platform serving a mixed audience, conservative is correct. ## Why I Used the Word "Halal" (Not "Modesty Filter") I could have called this `BRAND_SAFETY_BLACKLIST` or `MODESTY_FILTER`. I called it the halal filter because: 1. **It is more honest.** The filter was built with Islamic standards in mind. Naming it after a generic concept would have hidden the inspiration. 2. **It signals to my Muslim audience.** They know exactly what to expect. 3. **It opens a conversation with non-Muslim audiences.** "Halal" is a loaded word in the West. Using it provokes the right question: "Why would a tech platform need a halal filter?" The answer (brand-safety, universal compatibility) is the interesting part. 4. **It is a competitive moat.** Most platforms will not call their filter "halal" because they are afraid of the word. That fear creates space for brands that are not afraid. If "halal" feels too charged for your context, call it the strictest filter or the universal filter. The concept does not care about the label. The hardcoded blacklist is what matters. ## What I Would Build Next - **Cultural-context detector:** Halal-only food imagery (no pork, no alcohol-prominent scenes). - **Modesty filter:** No bikinis, no underwear shots, no over-exposed bodies in editorial photography. - **Sensitivity-tunable filter:** Three modes (strict / standard / loose) per content category. - **Vision-LLM verification pass:** After Stable Diffusion returns the image, run a vision model that confirms compliance. The core insight, one more time. Build the filter you would want for your strictest customer. Everyone else gets a bonus. --- *This article was originally published on [Longevity AI](https://longevityai.nl). Visit the source for the live wellness platform and the full technical context.* 00
Hholistisinlongevityai.hashnode.dev·Jun 2 · 6 min readI Didn't Buy Octomind. I Built My Own for €0. Here's Why It's Better.I am not a developer. I run Longevity AI, a Dutch health AI platform. I have paying users, a compliance gate, three languages, and a codebase that keeps growing every week. And last month I discovered00
Hholistisinmyhealthcontentautopilot.hashnode.dev·Jun 2 · 4 min readHow I Built a Health-Content Autopilot for €12/MonthI run Longevity AI, a Dutch holistic health platform. The content side was killing me. Writing one good evidence-based blog took 4-6 hours. I had nine ziektebeelden (chronic conditions) to cover, in t00
Hholistisinlongevityai.hashnode.dev·Jun 1 · 2 min readThree free wearable integrations for an AI health report: Oura, Withings, PolarLive today: three wearables, free to connect From today users can connect their Oura Ring, Withings device or Polar watch to their longevity health report at longevityai.nl. Free, in 30 seconds, via d00