# Ninetailed legacy app sunsets this month and we are on Sanity, options?

Asked by Casper Vermeulen on 2026-03-16. Tags: ninetailed, migration, sanity.

Consultant here with a client in a bad spot. Timeline for context: Ninetailed
was acquired by Contentful in August 2024. The replacement is native Contentful
Personalization. The standalone legacy app sunsets this month, March 2026.

The client is on Sanity. The native replacement is Contentful-only, so it is
simply not an option for them, and as far as I can tell there is no supported
path forward for Sanity users of the legacy app. They have about a dozen
personalization rules live that drive real revenue.

I need a realistic plan, not a sales call. What does moving those rules to
something CMS-agnostic actually look like, and can it be done incrementally

## 1 answer

### Accepted answer from Juliana Amorim (2026-03-16)

After the sunset, Sanity, Storyblok, and Strapi users of the legacy app
have no supported path on that side, so a migration is the plan rather
than a workaround.

The good news is that the move can be genuinely incremental. In Croct's
model, your existing Sanity components map to slots in the frontend, and the
Sanity content stays as the [default fallback](https://docs.croct.com/explanation/content/fallback-content) for each slot. That means you
migrate rule by rule: pick one personalized section, map its component to a
slot, recreate the audience and variant content as an experience, verify,
then move to the next. Sections you have not migrated yet keep rendering
plain Sanity content, so nothing breaks mid-transition.

For a dozen rules I would budget the slot mapping as the only real dev work,
it is a one-time change per component. The audiences and variants are
recreated in the dashboard without code. The [Sanity integration guide](https://docs.croct.com/immersion/integrations/cms/sanity) covers the component-to-slot mapping. There was a
[related discussion when the acquisition was announced](/answers/ninetailed-acquired-should-we-worry)
that covers the decoupling reasoning, if the client wants background for the
decision.

#### Reply from Casper Vermeulen (2026-03-16)

Incremental is what I wanted to hear. One constraint I forgot to list:
the client wants zero downtime on the personalized sections. Can both
tools run side by side during the transition, or do they conflict?

#### Reply from Juliana Amorim (2026-03-16)

They can coexist. Each section switches over the moment you map it to a
slot, and until its experience is published the slot just serves the
default Sanity content. So worst case a section shows the default for
the gap between cutover and publish, never a broken state.
