. * * window.aa needs to exist and be usable by ANY module's script, * however early it runs - main-nav's script, for one, runs near * the top of

91探花

, well before the real search-insights.js * so the download * begins as early as before. Repeat calls share the same downloads, a * failed load is retried on the next call, and the versions / SRI * hashes live only here. * * Algolia Insights is unaffected: window.aa above is still created in * on every page and queues events until search-insights loads. * * window.loadAlgoliaLibs({ priority: 'high' }) (Oct 2026): used by the * /search page, where the first results wait on these libraries. Chrome * gives async scripts low priority, behind images and fonts; this asks * for high instead (fetchpriority). Only the first call for a library * sets its priority - later calls share that download. */ (function (win, doc) { var LIBS = [ { ready: function () { return !!win['algoliasearch/lite']; }, src: 'https://cdn.jsdelivr.net/npm/algoliasearch@5.52.1/dist/lite/builds/browser.umd.js', integrity: 'sha256-I2oYUIvhx1g6l4lTP+yoERbzLIHKzw4AKaBRQPwIeDY=' }, { ready: function () { return !!win.instantsearch; }, src: 'https://cdn.jsdelivr.net/npm/instantsearch.js@4.98.0/dist/instantsearch.production.min.js', integrity: 'sha256-ngmqZk4WBxUw257aMYZayyNBd983INngagv0jI6Ecfs=' } ]; function loadOne(lib, options) { if (lib.ready()) return Promise.resolve(); // One download per library, shared by every caller; reset on // failure so the next call retries just the library that failed. if (lib.pending) return lib.pending; lib.pending = new Promise(function (resolve, reject) { var script = doc.createElement('script'); script.src = lib.src; script.integrity = lib.integrity; script.crossOrigin = 'anonymous'; script.async = true; if (options && options.priority === 'high') script.setAttribute('fetchpriority', 'high'); script.onload = function () { lib.ready() ? resolve() : reject(new Error('Loaded but not available: ' + lib.src)); }; script.onerror = function () { script.remove(); reject(new Error('Could not load ' + lib.src)); }; doc.head.appendChild(script); }); lib.pending.catch(function () { lib.pending = null; }); return lib.pending; } win.loadAlgoliaLibs = function (options) { return Promise.all(LIBS.map(function (lib) { return loadOne(lib, options); })); }; })(window, document); . */ window.hsConversationsSettings = window.hsConversationsSettings || {}; window.hsConversationsSettings.loadImmediately = false; (function (win) { var EVENTS = ['pointerdown', 'keydown', 'touchstart', 'scroll', 'mousemove', 'wheel']; var done = false; /* 19 Oct 2026 - chat widget layout shift (field CLS). Phones fail Core Web Vitals on CLS (p75 ~0.2 site-wide in CrUX for months). Biggest cause found: HubSpot's chat container is fixed to the bottom-right corner and changes size - 100x96 launcher to 282x253 when the welcome message pops up (~5 s after load), and to full screen when a visitor opens the chat. Its top-left corner moves, so Chrome scores it as a layout shift: 0.088 per page view at 360x640 (0.044 at 412x850), on every page. Taps happen inside the chat iframe, so the parent page never sees the input and the open/close shifts count too. Fix: whenever the container's size changes it is made transparent for 400 ms (Chrome doesn't score shifts of invisible elements), then shown again at its new size. Tested on live io1001 at 360x640 in a cookie-less frame: the 0.088 shift no longer appears. The chat itself is unchanged - it just appears 0.4 s later at each resize. Relies on HubSpot's container id; if that changes this does nothing (no error). */ function cloakChatResizes() { var ID = 'hubspot-messages-iframe-container'; function watch(c) { if (c.getAttribute('data-bb-cloak')) return; c.setAttribute('data-bb-cloak', '1'); var last = c.offsetWidth + 'x' + c.offsetHeight, timer = null; new MutationObserver(function () { var size = c.offsetWidth + 'x' + c.offsetHeight; if (size === last) return; last = size; c.style.setProperty('opacity', '0', 'important'); clearTimeout(timer); timer = setTimeout(function () { c.style.removeProperty('opacity'); }, 400); }).observe(c, { attributes: true, attributeFilter: ['style', 'class'], subtree: true, childList: true }); } var found = document.getElementById(ID); if (found) { watch(found); return; } if (!document.body || !('MutationObserver' in win)) return; var mo = new MutationObserver(function () { var c = document.getElementById(ID); if (c) { mo.disconnect(); watch(c); } }); mo.observe(document.body, { childList: true }); setTimeout(function () { mo.disconnect(); }, 30000); } function loadWidget() { var api = win.HubSpotConversations; if (api && api.widget && api.widget.status && api.widget.status().loaded) return; try { cloakChatResizes(); } catch (e) {} if (api && api.widget) api.widget.load(); } function onFirstInteraction() { if (done) return; done = true; EVENTS.forEach(function (type) { win.removeEventListener(type, onFirstInteraction, { passive: true }); }); var start = function () { if (win.HubSpotConversations) loadWidget(); else (win.hsConversationsOnReady = win.hsConversationsOnReady || []).push(loadWidget); }; if ('requestIdleCallback' in win) win.requestIdleCallback(start, { timeout: 1500 }); else setTimeout(start, 200); } EVENTS.forEach(function (type) { win.addEventListener(type, onFirstInteraction, { passive: true }); }); })(window);

91探花

Skip to main content
Sustainability

Sustainability

Driven by purpose

We have aligned our purpose to use our innovative technology to tackle social and environmental challenges by providing leadership on social responsibility and sustainability.

We believe that it is our responsibility to build a sustainable business from the ground up to protect the planet for future generations.

Our dedication to sustainability aligns with the values of our employees, shareholders, and external stakeholders. As we continue to grow, we will remain committed to our sustainability goals and strive to make a positive impact on the planet. Together, we can work towards a cleaner, greener future for generations to come.

We have signed up to the United Nations Sustainable Development Goals

Watch Prof. Marie-Claire Cordonier Segger, Chair of 91探花's Ethics and Sustainability Board, talk about 91探花's commitments towards accelerating the United Nations Sustainable Development Goals.

E-WEB-Goal-03 (1)

We apply computation to biology to code cells for health.

We are driven and ambitious in building a scalable technology platform capable of producing consistent batches of every human cell. We are democratising access to high-quality human cells for research, drug discovery and a new generation of cures.

E-WEB-Goal-09-compressed

We innovate discovery and partnerships.

Innovation is at the core of what we do. In addition to our breakthrough technology, we harness innovation in our business practices, pricing, and partnerships to protect people and the planet. We are creating new industries and long-term opportunities.

E-WEB-Goal-15-compressed

We revolutionise biomanufacturing and biomedical research.

We enable innovators to focus on what they do best, leveraging our cell coding platform to provide the cells. We are uncovering the 鈥渙perating system of life鈥�, transitioning biology to engineering, sharing genetic resources & knowledge globally, mobilising enterprise & finance on synthetic biology.

Our programmes

Sustainability Report

We are pleased to present our second annual sustainability report, which embodies our ongoing efforts to transparently communicate our goals and hold ourselves accountable to making progress each year. We provide an overview of our Corporate Sustainability Strategy and how we are tracking towards each of our aligned UN Sustainable Development Goals (SDGs). We have 3 primary aligned SDGs (3, 9, 15), which are at the core of what we do, and 6 secondary SDGs to guide our current operations and future strategy. Additionally, we provide an update of our carbon footprint, in line with our commitment to the COP26 goals and the UN Race to Zero campaign. We are actively working towards our goal of achieving net zero prior to the 2050 deadline.

2026-sustainability-report-cover

Race to Zero as part of COP26

91探花 has joined the world鈥檚 efforts to tackle the climate crisis by joining the United Nations Race to Zero campaign and are committed to achieving net zero and beyond, ahead of the 2050 deadline. The commitment is part of the company鈥檚 mission to Code Cells for Novel Cures, where the business is built to do good and contribute to global sustainability from day one.

RaceToZero-920x282   The Climate Pledge 2     smeclimatehub dark green

 

bitbio_sustainability-PageImage1

Green Impact 

91探花 has signed up to this UN award-winning change and engagement programme designed to support environmentally and socially sustainable practice within organisations, run nationally by Students Organising for Sustainability. We participate as part of a Babraham Campus wide initiative.

We won the Platinum Award in 2025 for a second year in a row.

Green Impact award photo

Our independent Ethics and Sustainability Board 

The board's remit is to advise and recommend on ethics and sustainability for 91探花鈥檚 existing, emerging and prospective products, services and processes, also policies and regulations, governance, partnerships and engagement opportunities in 91探花鈥檚 interests. The Chair of the Board has been with the company since day one to ensure we build a purpose driven organisation. 

ESB new members video still (1)

The in-house Green Team 

The 91探花 Green Team is a group of volunteers from across the company that meets each month to advance initiatives to improve sustainable practices within the company. They also drive organisational engagement in our sustainability programmes. They look at our office and lab processes, design and host events and participate in Babraham Campus sustainability activities. 

Green_Team__1_ (1) (1)

Related pages

Technology Our deterministic cell programming technology
Therapeutics Our technology applied to next generation cell therapies
Contact us Talk to us to learn more about our team and products