K-12 Districts & 1:1 Device Fleets

The district owns the fleet, the tenant and the mail flow — so it owns the block

A school district controls every layer a phishing link has to travel through: the managed Chromebook, the enrolled organisational unit, the resolver the buildings use, and the identity provider sitting behind every gradebook. This page is about getting a daily list of DNS-verified, currently-live phishing domains into those layers when the entire technology department is two people, and one of them also maintains the projector carts.

390,000+DNS-verified phishing domains, every one still resolving
04:30 UTCWhen the rebuilt list lands, well before first bell
100Domains per batch request, one lookup each
2 peopleThe realistic size of the team doing this work
Managed Chromebook fleets
Workspace for Education tenants
Microsoft 365 Education mail
SIS & gradebook sign-in
Payroll & direct deposit
Guardian payment portals
Home / Use Cases / K-12 Education
The estate you actually run

Every device is enrolled, which is both the good news and the bad

Districts have more control over their endpoints than almost any comparable organisation. That control is why a blocklist deploys quickly here — and why a single stolen password travels so far.

Walk into a district technology office and the estate is unusually legible. There is a fleet of managed Chromebooks, enrolled to the domain and sorted into organisational units that mirror the buildings and grade bands. There is a directory — Google Workspace for Education, Microsoft 365 Education, or in a surprising number of districts both, with one federated into the other because a state assessment vendor insisted on it years ago. There is a filtering appliance or a cloud filter with policy tied to those same organisational units, because E-Rate discounts required a technology protection measure and the district has been renewing it ever since. Compared with a company of the same headcount, everything is enrolled, everything is enumerable, and nothing is anybody's personal laptop.

One sign-in, a decade of systems

The gradebook trusts the directory. So do the learning management system, the library circulation module, the special-education case management tool, the bus routing dashboard, the substitute booking service and the professional-development registration site — usually through a SAML or OIDC assertion nobody has re-examined since it was configured. A stolen district password is not an email account; it is the key to a portfolio the district assembled deliberately, for good pedagogical reasons.

A uniform fleet makes lures portable

Every Chromebook renders the same fake sign-in page at the same resolution, with the same browser and the same extension set. Every staff mailbox sits on the same tenant with the same banner rules and allow-lists. A lure crafted against one district's environment works unchanged next door, which is why campaigns aimed at schools arrive in regional waves rather than as isolated incidents. The buildings differ; the software estate does not.

So the intervention belongs at the network

If you control the resolver, the enrolled browser policy and the mail flow, the cheapest useful move is making hostile destinations unreachable — rather than teaching nine hundred adults and four thousand children to spot a convincing copy of a page they see forty times a week. A known-bad list is no substitute for judgement, but it keeps working when judgement is exhausted, and in a school building judgement is exhausted by about ten past nine.

Enrolment cuts both ways. The property that lets you push a policy change to eleven thousand devices in an afternoon is the property that lets one working lure land on eleven thousand devices in the same afternoon.
Federation hides the blast radius. Most districts cannot produce a current list of every application that accepts their directory sign-in. Until you can, assume a compromised staff account reaches further than your incident plan says it does.
Four people, four exposures

The same campaign reads completely differently depending on who opens it

A district is not one user population. It is at least four, with different devices, different training, different authority and wildly different consequences when a password moves.

District IT

Technology director

Holds super-admin on the tenant, the device console and the filter. Receives vendor renewal mail, console alert mail and help-desk mail all day, which is precisely the shape a credential lure imitates. A compromise here is not an incident; it is a change of ownership.

Building

Principal & front office

Approves purchase orders, signs off substitute pay, answers guardian mail and forwards attachments constantly. Impersonating this role gives an attacker authority over the people who move money — and impersonating the superintendent gives authority over this role.

Classroom

Teacher

Signs into six or seven platforms before lunch and has been conditioned by the job to accept sign-in prompts without friction. Holds gradebook write access, special-education documentation and a roster of minors, none of which is recoverable once copied.

Home

Parent or guardian

On a personal device, outside every control the district owns, receiving mail that genuinely does come from school about fees, forms and lunch balances. You cannot filter their inbox — but you can find out when your own name is being used to reach them.

Reading those four together explains why single-channel defences underperform in schools. Mail filtering protects the first three and does nothing at all for the fourth, because guardians read district communications on personal accounts you have never had access to. Device policy protects students and, on a good day, teachers, but the technology director's compromise usually arrives on a phone during a conference. Awareness training is the only control that reaches everyone, and it is also the one with the shortest half-life — a session in August is a distant memory by the time the enrolment window opens in spring.

One control behaves the same for all four. Refusing to resolve the destination works whether the click came from a district Chromebook, a personal phone on the campus guest network, or a staff laptop at home pointed at your resolver over the VPN. It asks nothing of the person clicking, produces no ticket, and does not care whether they attended the training.
Its coverage is wide, not total. A guardian on a mobile network never touches your infrastructure, so nothing you deploy reaches them there. The layer applies uniformly wherever your network does — which is still more than can be said for anything else on the list.
What the lures actually look like

Gradebooks, direct deposit, and a lunch account with fourteen dollars in it

Three campaign shapes account for most of what a district sees, and each one exploits a workflow the district itself created for entirely sensible reasons.

Three campaign shapes recur in district after district, and none of them is technically interesting. Each one works because it borrows a workflow the district built on purpose — a daily sign-in, an annual payroll task, a routine request that families pay for something.

The gradebook sign-in page

The SIS is the most consequential login in the building and the least glamorous: enrolment records, home addresses, custody arrangements, meal-benefit status, health notes, discipline history, immunisations, and the identifiers that follow a child through their entire education. Fake sign-in pages for the common platforms are cheap to build because the real ones are public, plain enough to imitate, and reached daily from a bookmark rather than by typing a URL. Such a page does not have to be good — it has to arrive at 7:50 on a Monday.

Students as the attacker

Grade modification is a recurring motive, and the people attempting it are technically capable teenagers who share a network, a device image and frequently a classroom with their target. They send teachers links to fake gradebook logins, they register look-alike domains for the district's own portal, and they are patient in a way external actors are not. That the resulting site is amateur does not help you: a domain registered by a sixteen-year-old resolves exactly like one registered by a criminal group.

Direct deposit, before the next pay run

The most expensive mail a district receives is short, polite and addressed to one person in business services, asking to update banking details ahead of payroll and appearing to come from a senior administrator. School business offices are visibly staffed by two or three people whose names and titles are published on the district website for perfectly proper accountability reasons, which makes the addressing trivial and the pretext plausible.

Tax documents, January to April

The second payroll variant is relentless in the first quarter because a complete set of employee tax documents is directly monetisable. The link usually points at a hosted document viewer or a sign-in page that harvests the credential first and delivers the pretext second, which is exactly where blocking the hostname breaks the chain while it is still cheap — the finance officer clicks, gets nothing, and reports it as broken rather than complying with it.

The lunch account and the fundraiser

Cafeteria top-ups, athletics fees, field-trip payments, yearbook orders and band uniform deposits all involve the school directing families to a payment page, frequently run by a third-party vendor whose domain has nothing to do with the district. Families have been trained to accept precisely that. When a message says the lunch account is overdrawn and here is where to settle it, the amount is small enough to pay without thinking and the domain is unfamiliar enough to be unremarkable.

Look-alikes of your own domain

Guardian-facing fraud is where district hostnames get imitated hardest, usually as hyphenated variants or as a subdomain of something unrelated with the district's name buried inside. You will not catch all of them and should not claim otherwise, but you can check candidates deliberately instead of waiting for a family to report one — a hundred domains per POST at one lookup each, with checked, phishing_found and credits_used coming back so the job logs one line and stays quiet.

The process controls belong beside the technical one. Call-back verification on any banking change, and a standing rule that the superintendent never requests documents by email — the finance side of this is covered on the human resources and accounting and tax pages.
Student data does not expire. A stolen adult credential is a bad week. A copied SIS export is a set of identifiers attached to a nine-year-old that stays valid until they apply for financial aid, and neither the family nor the district finds out in the meantime.
Insiders are in scope. Grade-change attempts by students are a real and recurring category. They are also the one class of attacker who can test a lure against the exact device image the target uses, because they were issued the same one.
The block is silent. A resolver-level refusal produces no alert, no shaming and no conversation about who clicked. In a school building, a control that avoids embarrassing an adult in front of colleagues is a control that stays switched on.
What the list is

A picture of what is live this morning, not an archive of everything ever reported

The verification standard is the whole argument. A blocklist that only grows is a file your filter parses forever without protecting anybody.

The database holds more than 390,000 phishing domains, and every entry has been confirmed to have an active A record through rotating proxy infrastructure. That verification is not a quality badge, it is the retention policy: a domain that stops resolving falls out of the list instead of accumulating in it. The practical effect for a district is that the file you import each morning describes hosts that are answering right now, so the size of your blocklist stays roughly proportional to the size of the actual problem rather than to the number of years you have been subscribed.

Rebuilt every 24 hours

The build lands at 04:30 UTC — the middle of the night in North America and comfortably before the buses run. A daily changelog of domains added and removed ships alongside it, so an update can be a diff rather than a full reload if your filter is slow to restart.

Pull once, match locally

One authenticated download replaces per-query lookups, and downloads are unlimited with a subscription, so a nervous first week of pulling hourly costs nothing extra. Nothing about a student's browsing leaves the district.

A format your filter already eats

CSV as domain,category,dns_status, or JSON if you would rather transform it. Most district filters, firewalls and resolvers accept a custom blocklist file today, without a new appliance going into the rack.

Or ask about one domain

The API answers in under 50ms at 10 requests per second per key. A /check costs one credit and returns is_phishing, a category of phishing/malware, dns_status of resolves and a last_checked date.

Two answers, no middle

Confidence is 0.98 for a confirmed match and 0.0 for no match. A partial score would invite somebody to build a threshold, and a threshold is a discretionary decision this evidence does not support.

Works when the WAN does not

Local matching means an upstream outage costs you internet access, not protection. There is no verdict service to be unreachable in the middle of a state testing window, and /stats needs no key, credits or auth for a health check.

State the limit out loud, every time. This is a known-bad lookup. A clean result means the hostname is not on the list, which is not the same statement as safe, and a domain registered and first used inside the same hour will not be there yet. It sits alongside your mail filtering, your sign-in policy and whatever DNS filtering you already run — it removes destinations that are known, and claims nothing about the ones that are not.
The filter you already bought

Category filtering satisfies the audit; it was never built for this

Nearly every district already runs a content filter for compliance reasons. Understanding precisely what it does not cover is the difference between a second product and a second layer.

If your district takes E-Rate discounts you operate a technology protection measure, and you have probably operated the same one for years. It classifies the web into categories, enforces safe search, applies different policy to elementary and secondary organisational units, and produces the reports that keep the annual certification straightforward. It does that job well. What it is not is a system designed around hostnames that exist for four days.

QuestionCategory filteringVerified phishing list
What is being judgedWhat a site is about, placed into a taxonomyWhether one specific host is confirmed to be impersonating somebody
How a host qualifiesCrawled, reviewed, classified — a process built for pages that persist An active A record verified through rotating proxy infrastructure
A host that lives four days Usually gone before any crawler forms an opinion Caught if observed and resolving; rebuilt every 24 hours
A pixel-perfect copy of a sign-in screen Subject matter is "a login form" — nothing objectionable to classify Carried as a verified fact about the hostname
Adult content, gambling, violence This is precisely what it is built for Out of scope entirely
Satisfies the E-Rate certification Yes — it is the technology protection measure No, and it must not be listed as one
How it deploys in your districtThe appliance or cloud console you already administer A custom blocklist file in that same tool

The timing gap

A credential-harvesting host is registered in the morning, used for one campaign, and dark before any crawler has an opinion. When a category engine does catch one it is usually because the domain was reused or sat alongside something already classified — a genuine contribution, but an incidental one, and the gap it leaves is exactly the window in which the mail arrives.

The classification gap

A page that copies a Microsoft sign-in screen has the subject matter of a sign-in screen. It is not adult content, gambling or violence, and any honest taxonomy will describe it as a login form. The signal that matters — that this hostname is impersonating an identity provider to collect passwords — is not a category at all. It is a verified fact about a host.

They compose rather than compete

Almost every district filter — on-premise appliance, cloud service pushing policy to enrolled Chromebooks, or a plain recursive resolver in a rack — accepts a custom blocklist. Loading a daily file into the tool you already own adds the layer without adding a console, a login, an agent on the device image, or a second dashboard for a team of two to check.

Ask your filter vendor one question. Not "do you block phishing" — every vendor says yes. Ask how a hostname first observed this morning becomes blocked by lunchtime, and what evidence puts it there. The answers are usually more interesting than the brochure.
Take-home devices inherit the policy. If your filter enforces on the enrolled Chromebook rather than at the building edge, the same custom blocklist follows the device to the kitchen table — which is where a good share of student clicking actually happens.
Rollout

What a two-person technology department can actually do this term

No project plan, no steering group, no new console. Six steps, each reversible, each finishable between a bell schedule and a help-desk queue.

1

Look at the data before committing to anything

The /stats endpoint needs no key, no credits and no authentication, so you can confirm database size and last update from a terminal in five seconds. Then take twenty hostnames you have personally seen in staff mail this year and run them through the documented check endpoint. Twenty answers about your own district beat any vendor demonstration.

2

Choose the enforcement point you already administer

For most districts that is the recursive resolver serving the buildings, the existing filter's custom blocklist, or the firewall that already holds one. Pick the one you can change without raising a ticket with a vendor. If your filter enforces per-device on enrolled Chromebooks, that is the better point, because it covers the fleet at home as well as on site.

3

Run it in log-only mode for two weeks

Load the list, record matches, block nothing. A fortnight tells you the genuine hit rate on your own network, surfaces any collision with a curriculum resource before it becomes a teacher's complaint, and produces a number that came from your buildings rather than a brochure. That number is what a business manager funds; a vendor claim is not.

4

Write the block page for a nine-year-old and a substitute teacher

Default denial wording generates help-desk traffic you cannot absorb. Say what happened in plain language: this address was verified as a fake sign-in page, nothing you typed was sent anywhere, and here is the extension to call. Put the district's name on it. A block page that explains itself prevents a call; one that says "forbidden" guarantees one.

5

Automate the pull, then automate the check that the pull happened

A cron entry after 04:30 UTC, a download of the current file, a sanity check on line count before it replaces the live copy, and a reload. Then the part everyone skips: one alert if the file is more than forty-eight hours old. A silently stale list is the only realistic way this deployment fails, and it fails invisibly.

6

Extend to the surfaces nobody owns

Once the pull is scripted, add the quarterly jobs: hostnames extracted from the district site and every school site, the link list in your family communication platform, the bookmarks pushed to the Chromebook image, and typo variants of your own payment domains. Each is a batch call of up to a hundred domains, and each occasionally finds something that changed hands after somebody added it.

Do not skip step three. Log-only mode converts "the vendor says it works" into "we saw sixty-one attempts from our own buildings last month", and only the second sentence survives a budget meeting in March.
Keep a local allow-list your reload script reapplies. Otherwise your one override disappears at 04:31 tomorrow morning and a teacher loses a resource mid-lesson with no explanation available at the desk.
What it costs

Two shapes of spending, and neither one scales with enrolment

Districts think in per-student pricing because every other product they buy is priced that way. Neither option here is, which changes the arithmetic in your favour.

The credit route suits bounded, periodic work: quarterly audits of hostnames on district and school websites, checks on domains extracted from reported staff mail, verification of the payment vendors listed in your family portal, and sweeps of the typo variants around your own domain. Credits are monthly subscriptions via PayPal and stay billed monthly, with unused credits expiring at the end of that window, and there is a 14-day refund window if under ten percent has been used.

PackagePriceCreditsPer lookupSupport
Starter$5910,000$0.0040Email
Growth$9925,000$0.0040Email
Professional$249100,000$0.0025Priority
Business$499250,000$0.0020Dedicated
Enterprise$999750,000$0.0013Account manager

The feed is what protects the fleet

Network-wide enforcement means every lookup is answered locally and none of them is billed. The Daily Threat Feed is $499 per month — the annual option saves $1,989, a third off, and adds historical archive access, priority support, custom format options, a dedicated account manager and 100,000 API credits, which happens to cover the audit work above without a second purchase.

It does not scale with enrolment

Downloads are unlimited, so the price does not move with your student count, your building count, or how many devices went home this year. A district of nine hundred students and a district of ninety thousand pay exactly the same, which is not how anything else in the technology budget behaves and is worth pointing out explicitly in the paperwork.

Call the regional agency first

Educational service agencies, county offices, intermediate units, BOCES and state education networks already hold shared subscriptions for filtering, assessment platforms and bandwidth. One subscription at that level, served to member districts, is the same distribution problem they solve daily — and it puts identical protection into the rural district whose technology department is a teacher's free period.

Purchase-order realities

Above $4,000, bank transfer is available in place of PayPal, which matters more than it should for public bodies with card restrictions. Larger requirements — SFTP or S3 delivery into a state pipeline, STIX/TAXII into a regional operations centre, custom update frequency, an SLA, on-premise deployment — are quoted rather than listed; see the pricing page and the daily feed page.

The arithmetic for the board paper. The costs this avoids are mostly not the district's costs, which is why they never appear in a return-on-investment model and why they are the largest numbers in the discussion. A diverted payroll run is recoverable with effort. A family who paid a fraudulent lunch invoice loses money the district never received and cannot refund. A copied student record set is a harm that surfaces a decade later, to a person who was eight when it happened.
Questions from the district office

What technology directors and business managers ask first

Including the objections that are genuinely awkward, answered as directly as they deserve.

We already pay for a filter that says it blocks phishing. Why buy this as well?

Because "blocks phishing" is doing a lot of work in that sentence, and the honest test is specific. Ask your filter vendor how a hostname first seen at 06:00 becomes blocked by 09:00, and what evidence puts it there. Category engines are built to classify subject matter on sites that persist long enough to be reviewed, and a perfect copy of a sign-in page has no objectionable subject matter to classify. If your vendor's answer is convincing, you may genuinely not need this. If the answer is a reputation score with no stated verification standard, you now know where the gap is — and the other honest framing is that this is not a product you operate but a file, so if it turns out to be redundant with what you already run, you stop pulling it and nothing else in your estate changes.

Does this log what our students browse?

Not if you deploy the feed, which is the pattern recommended for exactly this reason. You download the whole database once a day and load it into your own resolver, filter or firewall. Every comparison after that happens on district equipment, so no record of any student or staff lookup is transmitted anywhere. The only outbound traffic is your own authenticated download of the list, which says nothing about who used a device or what they searched for; if you use the /check or /batch endpoints instead, those calls do send the specific hostname you asked about, which is appropriate for auditing your own website's links or verifying a domain a teacher reported, and is precisely why student-facing traffic should go through the feed rather than through per-query lookups.

What happens when it blocks something a teacher needs mid-lesson?

Plan for it and it is a two-minute problem instead of a crisis. Keep a local allow-list that your reload script reapplies after every daily import, so an override survives tomorrow's build. Put a real extension number on the block page rather than a generic denial, because a teacher who can reach a person in one call does not escalate to the principal. Verification by active DNS resolution keeps false positives low, but no list is perfect and the correction path matters more than the error rate — and if you run step three of the rollout above, you will usually discover any collision during the log-only fortnight, before it can interrupt anyone at all.

Can it stop scams aimed at parents? They are not on our network.

No, not on its own, and any vendor telling you otherwise is overselling. A guardian reading mail on a personal phone over a mobile network never touches district infrastructure, so nothing you deploy at your resolver reaches them. That is a real limit and you should say so when someone at a board meeting assumes otherwise, while noting the two things that are still available to you: guardians on the campus guest network are covered like everybody else, which matters more than it sounds during enrolment evenings and parent conferences, and you can check hostnames deliberately — typo variants of your own domain, the payment vendors you actually direct families to, and anything a parent forwards to the office — then warn your community about the confirmed ones through the channels you do own, because a verified answer on a specific hostname is a far better basis for a message home than a vague caution. The brand protection page describes how that watch list gets built.

How current is the list, and how do you know a domain is really phishing?

The database is rebuilt every 24 hours with the build landing at 04:30 UTC, and every entry is DNS-verified through rotating proxy infrastructure so only hosts with an active A record are included. That is why entries fall out when they stop resolving rather than piling up over the years. A single response carries dns_status of resolves, a last_checked date, and a confidence of 0.98 for a confirmed match against 0.0 for no match — nothing in between, deliberately, because a middle value would invite a threshold the evidence does not support.

Does this help with our E-Rate certification or CIPA obligations?

No, and please do not present it that way to a funder. Your technology protection measure addresses categories of visual content, and this list does not speak to that requirement at all. The two sit alongside each other: the category product satisfies the certification, and this handles a threat the certification was never written about. Do not list it on the certification paperwork as if it were a technology protection measure. It is a security control that happens to deploy through the same appliance.

Our whole technology team is two people and one is part-time. Is this realistic?

If you already run your own resolver or administer your own filter's custom blocklist, yes — this is a scheduled download and a reload, genuinely an afternoon plus a staleness alert. If you administer neither, the honest answer is that you should probably not be the entity holding the subscription. Talk to your educational service agency, county office or state network about holding it centrally and serving it to member districts, exactly as they already distribute filtering and bandwidth. That is the right shape for a district with no capacity, and a much better use of your afternoon than building infrastructure you cannot maintain — so start by reading the API documentation and the feed options, then ask whether anyone else in your region has raised it, because usually somebody has.

Students are the ones sending some of these links. Does a blocklist help against insiders?

Partially, and the boundary is worth stating plainly. A student who registers a look-alike domain this morning and sends it to a teacher this afternoon is inside the window where no list helps, because nobody has observed the host yet. What the list does catch is the far more common case where the student reuses infrastructure that already exists, buys a kit, or points at a host that has already been used against somebody else. It also catches them on the second attempt, which for a teenager working alone is usually where the campaign really is. The controls that matter more for this specific threat are directory-side — multi-factor on staff accounts, alerting on gradebook changes outside normal hours, and not letting one sign-in reach the SIS without a step-up — and the blocklist is a floor beneath those rather than a replacement for them.

Put the list where your fleet already looks things up

Confirm the database size from the open statistics endpoint, run the feed in log-only mode for a fortnight, and take your own buildings' numbers to the business manager. If the Chromebook fleet and the guest network are the priority, the daily feed is the deployment that keeps every lookup inside the district.