Tip: Use your left/right arrows on your keyboard as your trusty compass to navigate the federal awards.
This database collects more than 400 grants to online content controls programs in Germany from 2015 to 2025. It was released in tandem with our November 2025 report The Censorship Network: Regulation and Repression in Germany Today. A companion database of more than 300 content controls organizations can be found here.
Please read our project overview and methodology pages for further details of how we approached building the database and related infographics. If you spot any errors or grants we may have missed, please contact us.
Entries in this grants database draw on the projects’ own published descriptions, including their self-characterizations and publicly available materials. They are presented here for reference only. For independent analysis and contextual assessment, readers should consult the organizations database together with the accompanying report, where these initiatives are examined in greater detail.
Note that enabling German translation utilizes an automated machine translation service; exact translation may be imprecise.
Funding

Rethinking Disinformation (Re:DIS)
Recipient: Humboldt University of Berlin
Donor: German Research Foundation [Deutsche Forschungsgemeinschaft (DFG)]
6900000
Grant Information
Funding

Recipient: Democracy Reporting International (DRI)
Donor: European Union

Funding

Recipient: Das NETTZ
Donor: German Federal Program 'Living Democracy!' [Demokratie leben!]

Funding

Recipient: The Institute for Democracy and Civil Society
Donor: German Federal Program 'Living Democracy!' [Demokratie leben!]

Funding

Recipient: New German Media Makers [Neue deutsche Medienmacher*innen e.V.]
Donor: German Federal Program 'Living Democracy!' [Demokratie leben!]
424999.38
Grant Information
Funding

Recipient: HateAid
Donor: German Federal Program 'Living Democracy!' [Demokratie leben!]

Funding

Recipient: Baden-Württemberg Youth Foundation [Jugend Stiftung]
Donor: German Federal Program 'Living Democracy!' [Demokratie leben!]
424562.38
Grant Information
Funding

Recipient: University of Konstanz
Donor: European Union
352268.75
Grant Information
Funding

Recipient: Society for Media Education and Communication Culture (GMK)
Donor: German Federal Program 'Living Democracy!' [Demokratie leben!]
334999.78
Grant Information
Sort by
Award amount (€)
<script>
jQuery(document).on('keydown', function(e) {
// Left Arrow Key (key code 37)
if (e.keyCode === 37) {
jQuery(".modal:visible .btn-prev").click(); // Trigger prev button click
}
// Right Arrow Key (key code 39)
if (e.keyCode === 39) {
jQuery(".modal:visible .btn-next").click(); // Trigger next button click
}
});
</script><script>
jQuery(document).ready(function ($) {
// Function to handle modal navigation (click and keydown events)
function handleModalNavigation(e) {
const isModalOpen = $(".modal:visible").length > 0;
const currentModal = $(".modal:visible");
// Pagination Check
const pagination = $(".pagination-shortcode");
if (!pagination.length) {
console.error("Pagination element not found. Please check the selector.");
return;
}
if (isModalOpen) {
// Remove existing backdrops if any
$('.modal-backdrop').remove();
// Event delegation for clicks on buttons within the modal
currentModal.one("click", ".btn-next, .btn-prev", function (e) {
const isNext = $(this).hasClass("btn-next");
const direction = isNext ? "next" : "prev";
// Find the closest wpgb-card element and then the next/prev wpgb-card
const currentCard = currentModal.closest('.wpgb-card');
const targetCard = currentCard[direction]('.wpgb-card');
let targetModal = targetCard.find('.modal');
if (!targetModal.length && isNext) {
// If it's the last modal and "Next" is clicked, close the modal
currentModal.modal('hide');
return;
}
if (!targetModal.length) {
// If the next/prev modal is not yet loaded (due to lazy loading)
// Trigger pagination click to load more modals
pagination.find(`a[aria-label*="${direction}"]`).click();
// Wait for a short delay (e.g., 500ms) to allow new modals to load
setTimeout(() => {
// Find the target modal again after the delay
targetCard = currentCard[direction]('.wpgb-card');
targetModal = targetCard.find('.modal');
if (targetModal.length) {
currentModal.modal('hide');
targetModal.modal('show');
} else {
console.log(`No ${direction} page available in pagination.`);
}
}, 500); // Adjust the delay as needed
} else {
// If the next/previous modal is already loaded, show it
currentModal.modal('hide');
targetModal.modal('show');
}
});
// Keyboard navigation
if (e.type === "keydown") {
const key = e.keyCode;
if (key === 39) { // Right arrow
currentModal.find(".btn-next").click();
} else if (key === 37) { // Left arrow
currentModal.find(".btn-prev").click();
}
}
}
}
// Function to initialize modal navigation
function initializeModalNavigation() {
// Remove existing event handlers and backdrops to prevent duplicates
$(document).off("click keydown", handleModalNavigation);
$('.modal-backdrop').remove();
// Attach the event handler to the document for both click and keydown events
$(document).on("click keydown", handleModalNavigation);
}
// Initial call to set up modal navigation
initializeModalNavigation();
// Listen for the grid.afterRefresh event from WP Grid Builder
$(document).on('grid.afterRefresh', function(event, gridId) {
// Re-initialize modal navigation whenever the grid is refreshed
initializeModalNavigation();
});
});
</script>
