Migration

Switching from Bloomz: exports, tiers and the consent problem

There is one sequencing mistake specific to leaving a tiered platform, and it costs districts data every year: downgrading the tier to save money during the transition, before taking the export. Capabilities that sit in a tier you stop paying for take their data with them, and the retrieval conversation afterwards is with a vendor who has no commercial reason to hurry.

Last reviewed 2026-08-04 ยท Kastr is pre-launch; we publish dated status rather than logos.

Data created inside tier-gated capabilities, and what a downgrade puts at risk
CapabilityData it createsExposure if the tier lapses firstExport before downgrading?
Digital forms and permission slipsSubmitted responses, signatures, timestampsHigh — responses may be inaccessible without the moduleYes, first priority
Electronic signatureSigned documents and their audit metadataHigh — and these are frequently recordsYes
Voice callsCall logs, outcomes, recorded scriptsMedium — logs often survive, recordings may notYes
Behaviour and PBIS pointsPer-student behaviour historyHigh — and no comms platform will accept it as an importYes, and decide whether you need it at all
Two-way message threadsConversation history between staff and familiesMedium — usually retained, sometimes only in the interfaceYes
Group and audience definitionsGroup membership listsMedium — usually rebuilt by hand anywayScreenshot or export if cheap
Contact points and their stateNumbers, emails, preferences, opt-outsCritical — this is the migrationYes, before anything else
Attendance or announcement historySent-message record with outcomesMedium — records value rather than operational valueYes, for records retention

The rule that follows from this table is simple and worth writing into the project plan in capitals: export everything before changing anything about the subscription. Not after notice is served, not after the tier is reduced, not once the new platform is configured. First. The saving from three months on a lower tier is trivially small compared with the cost of reconstructing signed permission slips from a vendor you have already told you are leaving.

What actually comes out, and in what shape

Expect three categories, and plan for each differently.

  • Self-serve exports. Typically people, class and group membership, and contact details. These come out as CSV and are the easy part. Check immediately whether the contact export includes preference and opt-out state or only the raw number — that single column determines how much reconstruction work follows.
  • Support-request exports. Frequently message history, form responses and signed documents. These require a ticket, a turnaround time and sometimes a conversation about scope. Raise the request early, in writing, referencing the contract, and while you are still a paying customer in good standing.
  • Interface-only data. Anything you can see on screen and cannot get out. Behaviour histories and some analytics tend to live here. Decide honestly whether you need it: for most districts a summary screenshot for the record is proportionate, and rebuilding a behaviour history in a platform that has no behaviour features is not a goal.

Whatever arrives, validate before you load it. Count records per school and compare against the SIS. Check phone number formatting, look for guardian records named "mom" or "unknown", and look for the school that is missing entirely — that last one is what turns a migration into an incident.

A cutover sequence on an annual term

Anchored to your renewal date, working backwards. Adjust the offsets to your own notice window, which is the one date that is not negotiable.

  • 90 days out. Find the notice window in the contract and diarise both ends. Confirm the renewal date in writing with the vendor. Start 10DLC brand and campaign registration with the incoming platform — two to six weeks, externally controlled, and the item most likely to sink the timeline.
  • 75 days out. Request every export, including the support-request category, in one written request that lists the record classes by name. Ask for a delivery date.
  • 60 days out. Serve notice if that is your decision, inside the window. Validate exports as they arrive; reconcile counts per school against the SIS.
  • 45 days out. Load into the new platform's non-production tenant. Reconcile again. Rebuild groups and audiences. Do not touch the subscription tier.
  • 30 days out. First family notification. Staff training round one. Begin parallel running with all real sends still going from Bloomz.
  • 14 days out. Second family notification. Staff training round two. Send a test broadcast from the new platform to staff only, then to a single school, and read the per-recipient outcomes rather than the summary.
  • Cutover day. Third family notification, on every channel. All sends now originate from the new platform. Keep the old one readable.
  • +14 days. Confirm nothing is still being sent from the incumbent, then decommission. Archive the exports somewhere your records officer can find them in three years.

The consent problem, specifically

The single question that decides how much work this migration is: does the Bloomz export carry consent and preference state, or only contact details?

If it carries state, carry it forward and preserve the distinction between a number that was validated, a number a household explicitly consented on, and a number that has only ever been present in a roster import. Those are three different facts and a migration is precisely where they get flattened into one.

If it does not carry state, be honest about the position: those numbers arrive in the new system as unknown consent. The wrong response is to treat unknown as consented because it is easier. The right response is to decide, with counsel, what class of message you are comfortable sending to an unknown-consent number, send that first, and use the responses to rebuild state. Districts that quietly upgrade unknown to assumed discover the problem when somebody complains, and by then the audit trail says they knew.

What Kastr does with what arrives. Every contact point carries validation state and consent state as two separate fields, plus its source and its rank, precisely so a migration cannot collapse them. Roster loads run through a diff engine that classifies each record as added, changed, unchanged or withdrawn and hashes the payload, and a withdraw guardrail aborts any sync that would withdraw more than half your active records — the specific control that stops a truncated CSV from emptying a district. Our MIT-licensed importer today targets ParentSquare's export bundle rather than a Bloomz one, so a Bloomz migration means CSV into the roster API. And to be explicit about a gap: there is no one-click export tooling on our side either. Clause §7.1 gives you an unconditional export right at no charge, and satisfying it currently means our engineers producing the file.

Questions people actually ask

Can we export our contact list from Bloomz?

Contact details generally export to CSV without difficulty. The question that matters is whether preference and opt-out state come with them or only the raw numbers, because reconstructing consent state after the fact is the expensive part of any migration. Check the export's columns before you serve notice, while you still have a motivated vendor.

What happens to our data if we downgrade a Bloomz tier before leaving?

Data created inside a tier-gated capability — form responses, signed documents, behaviour histories, call recordings — may become inaccessible when you stop paying for the capability that created it. Take every export first, then change the subscription. The saving from a few months on a lower tier is not worth the risk to records you may be legally required to hold.

How long does a switch from Bloomz realistically take?

Plan for about 90 days from decision to cutover on an annual term, driven not by the technical work but by two external constraints: your contractual notice window, and carrier registration for text messaging on the incoming platform, which takes two to six weeks and cannot be accelerated. The hands-on data work is typically two to three weeks inside that.

Do we lose parent consent records when we move off Bloomz?

Only if the export does not carry them, which is common across this category. Ask specifically for consent and preference state as named columns rather than for "contact data". If it is genuinely unavailable, treat inherited numbers as unknown consent, decide with counsel what you are comfortable sending to them, and rebuild state from responses rather than assuming it.

One price. Every feature. Locked for three years.

$3.50 per student per year under 5,000 students. No tiers, no add-on modules, no per-message fees. Published on the site because you should not have to book a call to learn a price.