Drupal feeds

Start With Your Hardest Problem

Phase II Technology -

Start With Your Hardest Problem hpolk Tue, 10/28/2025 - 16:52 Topic Information Architecture Summary Discover how AI is redefining what’s possible in healthcare IT. Learn how leading organizations are using AI to leapfrog legacy challenges — from data governance to clinical intelligence — and solve the problems everyone else has accepted as impossible. Promo Image Start with your hardest problem-promo.jpg

Aten Design Group: Leveraging Laravel to Modernize Guttmacher Institute’s Database

Drupal Planet -

Leveraging Laravel to Modernize Guttmacher Institute’s Database jenna Tue, 10/28/2025 - 14:02 Drupal Client work

We recently partnered with the Guttmacher Institute on a fascinating challenge. Their team needed to migrate an existing data application built years ago in Silex PHP — a framework that’s no longer supported. The application stored large datasets in CouchDB, which were uploaded and parsed from XML and CSV files. Those datasets powered a series of interactive data visualizations embedded on Guttmacher’s Drupal site.

The primary motivation for rebuilding? A complex, outdated database layer in CouchDB — and a steep learning curve for Guttmacher’s internal team.

Key Objectives

As we began to scope the project, three main objectives emerged:

  • Streamlined Data Management: Create a simple backend interface where internal users can upload CSV files to add or update records. If a unique data ID already exists, the record should update automatically. The data model would mirror the structure of the existing CouchDB datasets.
  • Preserve the Existing Data Structure: Migrate the CouchDB data to a new system that maintains the same JSON-based framework. This was critical — any change in data structure would have required major updates to the Drupal and React applications that depend on the current API.
  • Rebuild API Endpoints: Recreate two public API endpoints responsible for data calculations and transformations, ensuring downstream applications (Drupal and React) continue to function exactly as before.
Backend Development Considerations

Our first instinct was to rebuild the backend logic within Drupal, keeping everything inside the same ecosystem. We also discussed moving the data to MongoDB, since it would closely resemble the flexibility of CouchDB.

But after diving deeper into the requirements, it became clear that Drupal wasn’t the right fit. While we could have made it work, Drupal’s entity system and API layers introduce unnecessary complexity for a lightweight application like this. Supporting non-native databases (outside MySQL, PostgreSQL, or SQLite) would also have added significant development overhead.

In short: Drupal’s power wasn’t the problem — it was overkill for the task at hand.

Framework Implementation

So what did we choose instead? Laravel, paired with Filament PHP for the admin interface and backend authentication.

Laravel offered the flexibility we needed — lightweight, elegant, and fast to implement. Its Eloquent ORM made it easy to define data models with minimal overhead, while Filament PHP allowed us to spin up an authenticated admin panel in minutes.

Filament’s built-in tools, like export and import capabilities, were especially valuable. We used them to handle CSV uploads, importing data directly into our custom data model designed to mirror CouchDB’s structure.

To migrate existing data, we built a Laravel Seeder. The process was straightforward: connect to CouchDB, iterate through the records, map each property to our Laravel model, and save them to the new datastore.

During the migration, we realized that only one property required JSON storage. Rather than introducing a new datastore like MongoDB, we simplified the stack further by using MySQL, which has supported JSON fields since version 5.7.8. Laravel’s native JSON model support made this transition seamless.

The Result: A Happy Client

The outcome was exactly what both Guttmacher and our team hoped for — a cleaner, faster, and easier-to-maintain application. By choosing the right tool for the job, we reduced technical debt, met tight deadlines, and empowered Guttmacher’s developers with a familiar and efficient workflow.

The new Laravel application now allows their team to manage datasets through a simple CSV import process — no more struggling with legacy code or unsupported frameworks.

At Aten, we believe every project deserves a thoughtful technical foundation. When you work with us, we take the time to understand your goals and choose the right technology to meet them.

Interested in modernizing your application? Let’s talk and find the right tool for your next digital challenge.

Travis Tomka

DXPR: DXPR Builder AI Beta: When Drupal outperforms Elementor, Divi, Webflow, and the rest

Drupal Planet -

DXPR Builder AI Beta: When Drupal outperforms Elementor, Divi, Webflow, and the rest Jurriaan Tue, 10/28/2025 - 12:58

TLDR: Watch it build a page from a prompt → Online Demo Download on drupal.org

So, we've been working on Drupal's content UX for over 10 years now, trying to make page building accessible to non-technical users. We've made a lot of progress, but honestly, something always felt like it was missing. The tools were getting more powerful, but making Drupal "easy" was still kind of a stretch. Your clients and their users will agree.

Then we started experimenting with AI.

I've been testing a bunch of other site builders: Webflow, Elementor, Divi, and about 10 others to see what they're doing with AI. Here's what I discovered: they're all bolting AI features on existing tools like an afterthought. They're treating AI as a feature, not a foundation. We took the opposite approach with DXPR. Instead of adding AI to a traditional editor, we built the entire experience around AI-first principles. The difference is striking, and I'd love to show you exactly how this fundamentally changes the way you build pages in Drupal.

Real-time unedited video

What We've Implemented So Far

Rather than just adding AI as a feature checkbox, we tried to think about how it could actually change the workflow. Here are the main things we've built:

Content RewritingWe've added controls for AI-rewriting content precision and control. Our users actually spend more time editing existing website content than making new pages. Single-Prompt Page Generation

You can describe a page in plain text and get a working layout. It's not perfect every time, but it's a pretty good starting point and saves a lot of manual setup. It's better than other AI writing tools.

Image Generation

Instead of switching to another tool, you can generate images right in the builder. It's integrated into the workflow, which seems to help with iteration speed.

Clone Competitor Pages

You can point the AI at a competitor page and have it screen-scrape the page and reproduce it with DXPR elements matching your theme. It sounds naughty but we know humans copy too, and AI does it better. For inspiration of course.

The goal was to create a workflow where these features actually work together rather than feeling like separate tools. We're trying to let the AI handle repetitive stuff so users can focus on the creative decisions.

Demo Videos

I've put together some demo videos that walk through how this actually works in practice. There are two versions: one with my narration and one with AI voiceover and edit.

These are pretty unfiltered demos. You'll see what works well and where we're still working out the kinks. I think it's important to show the real experience, especially since this is still in beta.

What This Might Mean for Drupal

I know Drupal isn't usually the first platform people think of when they want visual page building. We've always been strong on the backend, but the UI complexity has been a challenge.

What's interesting about this AI integration is that it might actually leverage Drupal's strengths in a new way. We've got this solid, flexible backend that other platforms can't match. And now we're able to put a much more accessible interface on top of it.

Obsessive optimization

Our AI performance is surprisingly fast too: page generation takes seconds, content rewrites happen in real-time. After years of building the foundation, it feels like things are finally clicking.

We even shipped a Rust / WASM HTML optimizer in DXPR Builder that runs in your browser and shaves a whopping 15% off of the token count of HTML we put into the AI, resulting in lower AI latency and better use of AI context capacity.

I Need Your Feedback

We're calling this a beta because we really want to hear from the community before we lock in the final release. What works for you? What feels off? Where do you see gaps or opportunities?

The team has put in a ton of work to get here, and I'm pretty excited about where we are. Your real-world testing is going to help us figure out what we got right and what still needs work.

If you can download DXPR Builder 2.8.0 from Drupal.org and test it out, that would be incredibly helpful. It's completely free including 10,000 words AI gen + 10 images per month in free AI credits. We've set up a FAQ and feedback page for questions and suggestions. Seriously, any input, positive or negative, helps us make this better.

And if you know anyone who might be interested in this kind of thing, feel free to share. We're trying to get this in front of people who might actually use it.

After working on this for so long, it's pretty cool to finally see how AI and Drupal can work together for content editors. Thanks for letting me share this with you all!

Want to Try It Out?

Download the DXPR Builder AI Beta and let us know what you think.

Download DXPR Builder on Drupal.org

DXPR AI FAQ & Submit Feedback

Cheppers: Automated Accessibility Testing Made Simple

Drupal Planet -

Accessibility has always been part of Drupal’s DNA but keeping it consistent across large sites takes more than good intentions. As standards evolve, developers and editors must balance WCAG compliance with design, content, and performance. This post looks at how automation and AI can make that work easier. From adding automated WCAG checks to CI pipelines to using AI tools that guide content editors, Drupal teams can spot problems earlier and fix them faster. At Cheppers, we’ve built a reliable, developer-friendly testing system for real Drupal projects, and we’re already preparing it for the next generation of WCAG guidelines.

Talking Drupal: Talking Drupal #526 - Off The Cuff: AI News, Hooks, and Drupal 11

Drupal Planet -

Today we are talking about AI News,Drupal Hooks, and Drupal 11. We’ll also cover Webform Scheduled Tasks as our module of the week.

For show notes visit: https://www.talkingDrupal.com/526

Topics
  • AI in News Anchoring
  • Drupal Hooks and Themes
  • Adoption of Object-Oriented Modules
  • Challenges with Theme Hook Orders
  • Understanding Hook Ordering in Modules
  • Simplifying Hook Ordering with Drupal 11.2
  • Updating to Drupal 11: Considerations and Plans
  • Exciting Features in Drupal 11
  • Drupal Orchestration and Integration
  • New England Drupal Camp Announcement
  • State of Drupal Work and Future Prospects
Resources Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi

MOTW Correspondent

Avi Schwab - froboy.org froboy

  • Brief description:
    • Have you (or your client) ever wanted to get fewer webform submission emails? Do you like getting emails on a predictable schedule and not any time a user decides to fill out your form?
    • If so, you might want to check out Webform Scheduled Tasks
  • Module name/project names
  • Brief history
    • Created by mattgill on 22 November 2017
    • It has a 3.0-rc1 release available with Drupal 10 compatibility and is awaiting review of it’s automated D11 fixes.
  • Maintainership
    • Its last release was in November 2023, but just a month ago I helped get Sean Dietrich approved as a new maintainer, so I’m hoping for a new release in the near future.
    • It has security coverage.
    • Tests exist to test the full functionality of the module and they are passing.
    • There is no standalone documentation, although a README is RTBC’ed. That said, the module page has a straightforward description of what the module does and how to use it, and getting it up and running is very straightforward.
    • Number of open issues: 24 open issues, only 1 of which is a bug against the current branch. I’ll also note there are 8 issues that are RTBC, so we should be seeing some fixes forthcoming.
  • Usage stats:
    • 817 sites
  • Module features and usage
    • Once you enable the module, Webforms will have an additional “Scheduled tasks” configuration screen.
    • You can create a task to email all results or just the results since the last export.
    • Once you enable a scheduled task, you can set a number of options:
    • its next scheduled run and the run interval (in hours, days, weeks, etc)
    • where to email the results, in what format (JSON or CSV), whether to delete submissions after they’re sent
    • There’s also a RTBC patch to allow you to configure file names to include date-time of export, which can help the recipients keep track of the exports.
    • After that, you just sit and wait for cron to do its thing.

The Drop Times: Visual Building with Canvas

Drupal Planet -

Hi Readers,

At DrupalCon Europe 2025 in Vienna, Dries Buytaert used his keynote (“Driesnote”) to outline Drupal’s AI-first direction. He described AI as a major shift in how people use the web and emphasised that Drupal will evolve to meet it. Instead of focusing on new features, his keynote detailed a strategy to improve usability and integrate AI throughout the platform. The highlight was Drupal Canvas, a visual site-building tool designed to make Drupal more accessible for all users. For full context, see Dries’s State of Drupal presentation, October 2025.

The community has quickly embraced this direction. Over the past 18 months, contributions to Drupal have nearly doubled, helped by the “Starshot” initiative. That progress led to Drupal Canvas, which combines Drupal’s structured content system with a more intuitive interface. Dries described it as Drupal “repositioned for creators, marketers, and enterprise users.” Canvas launches alongside Site Templates, Recipes, Code Components, and a new Mercury design system, all aimed at simplifying setup and improving site-building efficiency.

According to the Canvas project page, users can now build and theme entire sites directly in their browser, with little or no code. Non-developers can design and edit visually, while editors can modify content anywhere on a page. Canvas still leverages Drupal’s core strengths—structured content and granular permissions—to maintain consistency and control. It’s a major step toward making Drupal approachable without losing its technical flexibility.

The mix of Canvas and AI has become a central topic across the Drupal community. Canvas introduces faster, collaborative site building, while new AI tools can generate page layouts, assist with content, and suggest updates within Drupal’s workflow. These improvements make it easier for small teams or non-technical users to maintain complex sites efficiently. A production-ready Drupal Canvas 1.0 is expected in November 2025, becoming the default experience in Drupal CMS 2.0 by January 2026, followed by a template marketplace in March 2026.

DISCOVER DRUPALTUTORIALEVENTORGANIZATION NEWS

We acknowledge that there are more stories to share. However, due to selection constraints, we must pause further exploration for now. To get timely updates, follow us on LinkedIn, Twitter, Bluesky, and Facebook. You can also join us on Drupal Slack at #thedroptimes.

Thank you.
Sincerely,
Kazima Abbas,
Sub-editor, The DropTimes.

The Drop Times: TDT Townhall: Join Our Open Community Planning Meeting on 2025 November  05

Drupal Planet -

The Drop Times (TDT) is opening our monthly Townhall meeting to the wider community on November 5, 2025, at 7:00 PM IST (13:30 UTC). Townhall is where all departments—content, social media, marketing and outreach, jobs, technology, and leadership—set the course for the month ahead. As part of our transparency initiative, anyone aligned with TDT’s mission to grow Drupal’s market share is welcome to join. We’re a nonprofit, ad-free portal covering interviews, organization news, tutorials, module releases, events, jobs, and Drupal adoption insights. The Google Meet link will be shared shortly; come add your voice to TDT’s roadmap.

Dominique De Cooman: DEEP: The Post-Platform OS for Intelligent Experience Ecosystems

Drupal Planet -

Read more

The digital experience industry is at a crossroads. We’ve spent the past decade evolving from simple CMS websites to full-fledged Digital Experience Platforms (DXPs) that promised to manage every touchpoint. Yet, as we stand in 2025, it’s clear that the next leap forward won’t come from yet another all-in-one platform. It will come from a new philosophy altogether. I call this new paradigm DEEP, or Digital Experience Enablement Platform.

DEEP: The Post-Platform OS for Intelligent Experience EcosystemsDEEP: The Post-Platform OS for Intelligent Experience EcosystemsMonday, October 27, 2025 - 10:30

Droptica: Drupal Field Module – Expand Its Possibilities with 10 Useful Modules

Drupal Planet -

Have you ever created a form in Drupal that had a dozen or so fields and looked like a long, messy list? Or maybe you wanted to limit the number of characters in a text field, but didn't know how to do it without programming? These and many other problems are solved by 10 modules that extend the standard Drupal Field module. The tools I will present in this article are worth knowing if you are an administrator or product owner of a Drupal site. The text is based on my video from the Nowoczesny Drupal channel.

AdamEvertsson.se: More fun modules for Drupal

Drupal Planet -

Drupal continues to be my favorite playground on the web — not just because it’s powerful, but because there’s so much creativity and humor in the community. In the post 12 fun modules for Drupal, I listed a few amusing modules that showed developers sometimes have a twinkle in their eye. Now it’s time for another round: more quirky, charming, and delightfully unnecessary add-on modules that make Drupal a little more… human.

Some of them aren’t supported under Drupal.org’s security policy, so keep that in mind when using them. But it’s always fun to download and test them out.

Halloween light

It’s getting close to All Saints’ weekend, or Halloween as it’s increasingly called here in our long, narrow country. Why not decorate a bit and put a row of glowing pumpkins at the top of your website?

Read more and find the module at https://www.drupal.org/project/halloween_lights

Happy New Year and Merry Christmas!

A similar module is Happy New Year and Merry Christmas!, which adds blinking Christmas tree lights at the top of your website. You can set the dates during which the module should be active, so if you want, you can celebrate Christmas and New Year all year round — or right in the middle of summer!

Read more and find the module at https://www.drupal.org/project/happy_new_year 

Khaaaaaaan

One of the most classic Drupal modules is Khaaaaaaan — and perhaps also the nerdiest. Made by developers, for developers. It doesn’t even have a release for Drupal 8 and up, so if you want to play around with this one, you’ll have to go back to the roots and install Drupal 6 or Drupal 7. 

Read more and find the module at https://www.drupal.org/project/khaaaaaaan 

Futurama

When Futurama came out in the late 1990s, I was instantly hooked. I loved the concept of the wonderful antihero Fry, who, through chance and a workplace accident, finds himself in the year 3000 and has to adapt to life there. All the pop culture references were spot-on, the episodes hilarious. I was probably the perfect target audience. So this module really speaks to me. It randomly displays quotes in a block, making it easy to place in your theme.

Read more and find the module at https://www.drupal.org/project/futurama 

Flush

How about a nice little flushing sound when you clear the cache through the interface? If you’d like to spice up your site with a sound effect like that, this is the module for you. It might get a bit annoying when you’re developing new functionality or tweaking your theme design and need to clear the cache frequently. But hey — it’s fun!

Read more and find the module at https://www.drupal.org/project/flush

Brexit

Perhaps not the most current module anymore, but what a brilliant way to express either support or skepticism toward Brexit. The module description might be the funniest part. How about this:

Provides coffee() as an alternative for t(), as t() shortage may occur after Brexit.

Hide EU cookie compliance messages for traffic from the UK, since the British won’t have to deal with that nonsense anymore.

Read more and find the module at https://www.drupal.org/project/brexit

There are dozens of older modules out there that only work with Drupal 6 and Drupal 7. As Drupal has become a better and more enterprise-oriented platform, it feels like fewer and fewer humor- and entertainment-focused modules are being made. But every now and then, one pops up — and when it does, I’m there to bookmark it so I can write about it here on my site.

Mario Hernandez: Customizing Drupal Paragraph types with Style options

Drupal Planet -

To build scalable websites, start by creating solid, reusable, and customizable frontend components. Flexible and dynamic components not only help developers by reducing code duplication and complexity, but they also enhance the editor’s experience by providing options to control how content is displayed. The way these options are exposed to content creators depends on your site’s architecture and Drupal configuration.

In this post, I’ll be using the powerful Paragraphs Drupal module in combination with the Style options module. Paragraphs has a robust ecosystem, and its key features are being considered for the Canvas, formerly Drupal Experience Builder.

Our main goal is to create a tool that site builders love, with an amazing out-of-the-box experience. By integrating key features from Paragraphs, we also aim to create a unified solution that reduces fragmentation, accelerates innovation, and ensures Drupal remains at the forefront of site building. - Dries.[1]

Consider the component below which is pretty straight forward by nature but can be customized in several ways to create interesting content displays.

Card with image and text side by side with white background

Card with image and text side by side in reversed order with dark background

Card with image and text side by side in reversed order with white background

To achieve the various front-end displays shown above, we simply pass a CSS modifier class to the component and write the corresponding styles. But how can content creators choose the display they want during content creation?

The Style Options module

Providing customization options to content editors through a UI typically requires storing data in the database—often by creating new fields, entity view modes, entity references, and more.

The Style options module offers an appealing alternative because it eliminates the need for additional fields or entity view modes. Instead, it stores all configuration options in a YAML file located in the root of your theme or module. The module includes an example file, example.style_options.yml, which provides excellent examples of customization options. It’s worth noting that this is considered a developer-focused module, as it does not provide a UI for configuration.

Install and Configure Style Options
  1. Install and enable the style_options module as you normally do other modules.

  2. Either create a new paragraph type or edit an existing one you wish to provide styles options to and enable the Style Options behavior as shown in the screenshot below.

  3. Lastly, be sure your paragraph types templates use the attributes variable as this is how Style options passes the required attributes such as CSS classes to your templates.

Styles Options configuration example

The Style options module provides three plugins:

  • The CSS Class plugin, for attaching custom CSS classes to components.
  • The Background Color plugin, for attaching background colors to components.
  • The Background Image plugin, for attaching background images to components.

For simplicity of this post, I'll only cover the CSS Class plugin as this is the one I used the most. You should check out the other two plugins though.

Let's take a look at a simple example where provide editors with options to change the side the image appears in the Card component above.

Create the styles option configuration file in the root of your module or theme with the naming convention [module_name].style_options.yml or [theme_name].style_options.yml.

# my_theme.style_options.yml options: image_side: plugin: css_class label: 'Select the content direction' multiple: false options: - label: Select - label: Image on Left class: image-left - label: Image on Right class: image-right contexts: paragraphs: _defaults: options: ... my_paragraph: options: image_side: true

Example of styles to customize a component's border style.

Breaking it all down

options defines the section for all available style options.

image_side is an arbitrary name related to the style you wish to implement. This is only an example. In a real project I would try to use a more general name that could apply to more paragraph types (i.e. content_order, content_direction, etc.).

plugin is one of the three available plugins I described earlier (css_class, background_color, background_image).

label is the label Editors see followed by a set of options.

multiple is a boolean type key which determines if multiple options selection is allowed.

options is an array of available options for Editors to choose from.

  • label is the label of an individual option

  • class is the actual CSS class you want to pass to the component.

    Note: If you omit the class key (as in line 9), no class will be passed. This is common when using the first item’s label as the default option in the select field. For example, the word "Select" appears as the default but doesn’t pass any class. See next screenshot.

contexts defines which options should be available for specific contexts (i.e. Paragraph Types, Layouts, etc.)

paragraphs defines a section for paragraph types to make use of the options defined within the options section (line 3). See the project's README for other contexts.

_defaults allows to define any style option as defaults for all paragraphs you choose to use. This avoids repeating the same configuration for each paragraph type.

my_paragraph is the ID for the paragraphs I want to configure with specific options (i.e. image_side).

How are options selections tracked by Drupal?

Earlier, I noted that using Style Options to manage component behavior reduces interaction with Drupal’s configuration and database compared to adding fields or view modes. However, Drupal still tracks the options editors select.

The second options: key (line 7) is a zero-based index array, meaning values start at 0 and increment by order: 0, 1, 2…. Drupal stores these values like any other select field. If you inspect the select field in the edit form, you’ll see each <option> element has a value attribute matching its index. See screenshot.

Example of the select field and its value for style options.

Why is this important?

Since Drupal uses the options index value to track options selected by users, altering this order by rearranging, adding or removing options after it has been in use, will result in components styles and/or behavior not working as expected.

Let's see a quick example using the original configuration we created earlier. I'm omitting all but the necessary code for simplicity.

options: - label: Select # Index value = 0 - label: Image on Left class: image-left # Index value = 1 - label: Image on Right class: image-right # Index value = 2

Let's say we want to remove the Image on Left options as it seems redundant because the Card's default state (Image on the left), should require no CSS class.

options: - label: Select # Index value = 0 - label: Image on Right class: image-right # Index value = 1

With this change:

  1. Cards whose option value used to be image-left, will now get image-right because the latter moved from index 2 to index 1, and the card is expecting index 1's value.
  2. Cards whose option value used to be image-right, will no longer get a value because the original index 2 item (image-right), no longer exists.

As you can probably guess, if Drupal's database is not updated accordingly, the behavior of existing cards will change.

How to solve this issue?

Sometimes, you need to alter a component’s options after its original configuration. When this happens, Drupal’s database must be updated to reflect the correct values. How you handle this is up to you—sometimes a simple preprocessor works, while other cases may require a more complex data migration script.

Keep in mind, this isn’t a Style Options issue; it’s simply how databases and data storage works when fields or options are changed or removed.

In closing

Providing customization options for components offers benefits like better UX and reduced code duplication. However, too many options can overwhelm users and have the opposite effect. Be selective—offer only the essentials to keep the experience simple and effective.

Be sure to learn about the other two plugins the Style options module offers: background image and background color. Also, if you need to improve your layout paragraphs, take a look at the Layout options module.

Footnotes
  1. Dries Buytaert. “Evolving Drupal's Layout Builder to an Experience Builder.” dri.es, April 23, 2024. ↩︎

Web Wash: Display Errors and Print Variables in Drupal CMS

Drupal Planet -

Debugging Drupal involves using tools to display errors, inspect variables, and step through code. Knowing these techniques is crucial for troubleshooting issues like the White Screen of Death (WSOD) and can prevent hours of frustration.

The video above covers basic error display configuration, advanced debugging with Xdebug, and practical tools like Devel, WebProfiler, and Ignition for productive Drupal development.

The Drop Times: 12 Essential Drupal Modules for Conversational AI and Chatbot Integration

Drupal Planet -

Conversational AI is now a must-have for modern web experiences, and Drupal developers have powerful tools at their disposal. This curated list from The DropTimes showcases 12 standout modules that make it easy to integrate AI-driven chatbots into Drupal sites. Whether you need offline AI, OpenAI integration, multilingual support, or node-specific conversations, these modules offer solutions for a wide range of use

Palantir: How We Use AI at Palantir

Drupal Planet -

How We Use AI at Palantir demet Thu, 10/23/2025 - 13:42

Building an AI policy that’s rooted in practical experience, not hype

As generative AI tools like ChatGPT, Microsoft Copilot, Google Gemini, and Claude have become ubiquitous in our workplaces, many organizations are still struggling with how to adopt them effectively. Some companies are telling employees they need to use AI as much as possible, but aren't providing clarity and guardrails on how to do so. Others avoid AI tools entirely, worried about the risks and uncertainties around their use.

The reality, as commentator Anil Dash recently observed, is that most people who work in technology have a very consistent view on AI:

"Technologies like LLMs have utility, but the absurd way they've been over-hyped, the fact they're being forced on everyone, and the insistence on ignoring the many valid critiques about them make it very difficult to focus on legitimate uses where they might add value."

As a result, the practical voices asking "how do we use this responsibly in our actual work?" are drowned out and many organizations end up without any clear guidance about where AI adds value and where it doesn't. This can create an uneven playing field where some workers are using AI without any guardrails, while others stay away completely, avoiding use cases that might save time and money.

How do you create an AI workplace policy?

At Palantir, we found ourselves in this position last year. As a digital strategy and development consultancy, we're naturally curious about new technologies and how they might benefit our clients. Several of our team members had been experimenting with AI tools for some time, looking for ways they might improve the quality of our work.

As we started using these tools more frequently, however, the questions multiplied faster than answers:

  • Which AI tools were okay to use and which weren't?
  • How should we establish human oversight and disclosure requirements?
  • What about intellectual property concerns with AI-generated content?
  • How do we maintain quality standards when AI is involved in our deliverables?
  • How do we ensure data privacy and security?
  • How do we address AI's environmental footprint?
  • What are our obligations under emerging AI regulations?

Many members of our team were excited about AI's potential, but needed clear direction and guardrails to harness that enthusiasm safely and effectively. More importantly, we needed to level the playing field-creating an environment where everyone felt empowered to use AI tools appropriately rather than some people forging ahead while others held back out of uncertainty.

We wanted to treat AI like a normal technology. That meant applying the same thoughtful evaluation, risk assessment, and implementation practices we'd use for any other tool-without the extremes of either blind enthusiasm or complete avoidance.

The stakes are higher than you think

Before diving into our solution, it's worth understanding why this matters so much. Without proper guidelines, the risks extend far beyond individual productivity gains or losses. Teams operating without AI policies face several serious challenges:

  • Data breaches and privacy violations can happen when sensitive information gets inadvertently shared with third-party AI services.
  • Quality issues and "workslop" emerge when team members generate low-quality AI content and pass it along to colleagues, creating more work than it saves.
  • Client trust issues arise when AI usage isn't properly disclosed or when it conflicts with client expectations or policies.
  • Legal complications are increasingly likely as new regulations around AI in the workplace take effect.
  • Inconsistent practices and cultural problems develop when different team members use AI tools differently, with varying levels of oversight and review.
  • Environmental and ethical concerns go unaddressed when organizations adopt AI without considering sustainability commitments or how systems use content without creator consent.

We realized that creating our own AI policy wasn't just a nice-to-have-it was essential for building a workplace culture where AI use could be transparent, responsible, and valuable for everyone. We needed a framework that would create buy-in across the organization while prioritizing quality, safety, and security.

We needed to be part of the reasonable majority: treating AI as a normal technology, subject to thoughtful evaluation and appropriate controls, focused on legitimate uses rather than hype.

The question wasn't whether we needed an AI policy. The question was how to build one that actually worked.

Establishing an AI Working Group

One of our first realizations was that creating an effective AI policy couldn't be a solo effort or even a small, homogeneous group project. AI touches every part of how we work-from the code our developers write to the strategies our consultants craft to the way our project managers coordinate client relationships. If we wanted a policy that would actually be useful (and used), we needed perspectives from across the organization.

We decided to formalize our approach by creating an AI Policy Working Group. This wasn't just a committee-it was a cross-functional team with a specific charter: drafting policy for the safe, private, secure, and ethical use of AI at Palantir.net.

The working group structure gave us several advantages. It provided legitimacy and resources for the work, created clear accountability, and ensured that policy development was treated as a priority rather than a side project. Most importantly, it established a framework that could continue beyond the initial policy creation to handle ongoing updates and new challenges.

We started by identifying team members who had two crucial qualities: genuine interest in AI tools and expertise in different domains of our work. These weren't necessarily the most technical people or the biggest AI enthusiasts. Instead, we looked for people who could bridge the gap between AI capabilities and real work requirements.

A project manager who'd been using AI to draft client communications had different insights than a developer using it for code review, and both perspectives were essential. We needed people who understood not just what AI could do, but how it fit into our actual workflows and client relationships. We also needed to include members of our operations and leadership teams who could speak to compliance and data safety concerns.

Identifying key themes and establishing accountability

Our discovery process started with structured interviews with key stakeholders across the organization. We talked to leadership, project managers, and team members who were already using AI tools in their work. The goal wasn't to gather opinions about AI in general, but to understand specific challenges, concerns, and requirements our policy would need to address.

Several clear themes emerged from these discovery interviews, and for each one, we identified who would be responsible for implementation:

1. Human accountability must remain paramount

There was strong consensus that regardless of how AI was used, humans needed to remain fully accountable for the quality and outcomes of their work. AI should be used to enhance human capabilities, not replace human judgment.

Who owns this: Project teams are responsible for ensuring AI tools are used in a way that delivers value and maintains human oversight. Team members remain fully accountable for the quality, substantial completion, and outcome of AI-assisted work-treating AI assistance similarly to collaborating with another team member.

2. Data privacy and security are non-negotiable

Team members needed clear guidance about what data could and couldn't be shared with AI tools. We also needed to have clear rules ensuring client data would never be used to train third-party AI tools.

Who owns this: Our Systems & Infrastructure team establishes the process for evaluating new AI tools, decides which ones are approved for use, and assesses ongoing security and compliance. They conduct vendor assessments with robust SLAs and ensure tools don't use company or client data to train their models.

3. Transparency with clients is essential

Some of our clients already had their own AI policies that restricted or required disclosure of AI use. Others were curious about how we were leveraging AI for their benefit. We needed clear protocols to navigate these conversations.

Who owns this: Project teams ensure tools are used in a way that is consistent with client policy requirements and restrictions. They're responsible for proactively communicating with clients (and each other) how AI is being used on their projects, reviewing client-specific AI policies, and documenting AI usage in workflows.

4. We need practical "do's and don'ts"

Team members wanted concrete, actionable guidance. They didn't need us to solve the big philosophical questions about AI's role in society-they needed to know whether it was okay to use ChatGPT to help draft a project proposal, or how to disclose AI usage in a client report.

Who owns this: The AI Working Group provides advice, consultation, and support to team members, helping translate policy into practical day-to-day decisions. Our Operations team navigates regulatory requirements, liability questions, and evolving legal frameworks, including avoiding discriminatory use of AI in employment decisions and performance evaluations.

Making it work in practice

The key to our working group's effectiveness was balancing structure with flexibility. We had regular check-ins and clear deliverables, but we also made space for organic collaboration and iteration. People could contribute according to their expertise and availability without feeling overwhelmed.

We also made the process transparent from the beginning, using shared documents and collaborative spaces so anyone could see our progress and thinking. This transparency proved valuable later when we moved to company-wide review and adoption. And of course, we used AI tools throughout the policy development process to help synthesize team member inputs and iterate on language more efficiently.

Most importantly, we kept the focus practical rather than philosophical. While we certainly discussed the broader implications of AI, our primary goal was creating something our colleagues could actually use in their daily work.

The results

After releasing a draft for comment and review in December 2024, we officially implemented our Generative AI Usage Policy in January of this year. Since then we've developed new product and service offerings as part of an internal "skunkworks" program, including our custom AI content auditing tool that cuts the time and cost of content audits by 30-50%. We have also implemented Onyx as an internal tool that brings together internal information from sources that were currently locked in their own silos.

Our team members regularly use company-approved AI tools like Gemini, GitHub Copilot, and Warp to assist with research, code development, drafting documentation, and debugging. Our code is not written by AI-rather, AI assists developers by suggesting code completions, helping identify bugs, and accelerating routine tasks, while humans make all architectural decisions, conduct peer reviews, ensure security compliance, and maintain accountability for quality. We treat AI assistance similarly to collaborating with another team member: the human remains fully responsible for the work product's accuracy, security, and appropriateness.

As a company that does a lot of work with Drupal, we've also been closely following the work of the Drupal AI Initiative to build tools that empower teams to create intelligent experiences with complete oversight of AI operations. With over 290 AI modules already available and integrations spanning 21 major providers, Drupal is already a leading platform for AI integration. At DrupalCon Vienna last week, Drupal project lead Dries Buytaert shared his vision for Drupal as a leading AI site-building platform.

In some cases, AI agents are already handling routine quality assurance tasks like ensuring alt text completeness, validating heading hierarchies, checking reading levels, and monitoring brand consistency. Looking forward, we see AI playing increasingly sophisticated roles in website management and optimization.

What we learned

By treating AI as a normal technology rather than either a silver bullet or an existential threat, we found our way to a middle ground that we believe more accurately reflects AI's capabilities and challenges. Our working group didn't just produce a policy document-it created organizational buy-in, practical guidance that teams actually use, and a framework that continues to evolve as the technology changes.

We've made our policy template available on GitHub as a starting point, but the real value isn't in copying our specific rules-it's in building your own cross-functional working group, conducting discovery with your stakeholders, and creating guidelines that reflect your organization's values and needs. The goal isn't to have perfect answers to every AI question. The goal is to create an environment where your team can focus on legitimate uses that add value, with clear guidance on how to do so safely, ethically, and effectively.

This post was written with the assistance of Anthropic Claude. The cover image was generated by Adobe Firefly.

Pages

Subscribe to www.hazelbecker.com aggregator - Drupal feeds