Book a demo

School Photo Directory · the index over the school-photography address family

Nine addresses start with the same word. This page tells you which one you actually want.

School photography alone has nine separate schoolphoto.* domains in this fleet -- the marketplace, the toolchain, the access app, the hosting story, the print leg, the studio-operator tools, the AI-adjacent features, the supply-side network, and the US framing -- each a complete, honest, differently-scoped page. Typing the wrong one does not fail loudly: it opens a real page for a different angle and looks like the right answer. This page fixes that in one decision, and shows the honest, dated state of each address before you click it.

This is an index, not a storefront. There is no roster on it, no listing, no rating, no ranking, and nothing for sale — and there never will be. Here is why, in writing.

The problem this page exists to solve, stated plainly

Splitting one product line into scoped addresses is the right call -- a school office asking "where do our photos live" and a studio asking "how do I run my commission ledger" need different pages, not one page trying to be both. But it creates a failure mode a single site does not have: the split is invisible from the address bar. A school administrator who types schoolphoto.app when they meant schoolphoto.software does not get an error. They get a complete, real, honestly-written page about the access surface when they wanted the toolchain overview, and unless they read closely they may never notice they landed one address off.

That is a worse failure than a broken link, because nothing about it looks broken. Every one of the nine addresses is fully built and answers correctly for its own scope. The defect is entirely in the routing, not in any single page -- which is exactly the kind of gap an index is built to close, and exactly the kind of gap none of the nine pages can close for themselves, because each one is honestly scoped to say less than the others by design.

So this page does two things a search engine result does not. It routes on the visitor’s own words -- what they need, not our internal naming scheme -- and it states plainly why this address and not the one next to it, for the pairs that are genuinely easy to confuse. And it reports, honestly and with a date attached, whether each address currently answers, so a link on this page is never a claim we have not measured.

Start from what you need

The first table is the nine addresses that literally share the word "schoolphoto" -- the family this page exists to disambiguate. The second is the adjacent grade-band and specialist siblings a visitor commonly means instead. Read the right column when two rows look the same and you need to know which is which; that column exists specifically because adjacent, similarly-named addresses are the ones people get wrong.

The schoolphoto.* family — nine addresses, nine angles

All nine share the root word "schoolphoto". Every one is a complete page; the scope, not the completeness, is what differs.
What you needThe addressWhy this one and not the row above
The two-sided marketplace -- an independent studio finding schools to shoot, or a school finding a studio.schoolphoto.network
School Photo Network
This is the only one of the nine that is a marketplace connecting studios and schools. If you already have a studio, or you are a school office, not a marketplace, keep reading down this table.
The whole toolchain a school office runs its own picture-day program on, module by module.schoolphoto.software
Schoolphoto.software
Roster import, consent gate, galleries, order rails, pro-lab export, tenant isolation -- named module by module. This is the operating software, not the marketplace and not a single feature.
Open the system on whatever device you have, in a browser, with nothing to install.schoolphoto.app
Schoolphoto.app
The access surface -- the same toolchain reached from a phone, tablet, or laptop. Choose this over schoolphoto.software when the question is "how do I get to it", not "what does it do".
Where the photos and any face data actually live, and how a family reaches them securely.schoolphoto.cloud
School Photo Cloud
The hosting and data-residency story -- private, school-owned storage, per-school tenant isolation, retention and export. Choose this when the question is about data location and access control, not features.
What happens to a portrait after it is ordered as a physical print, package, or ID card.schoolphoto.press
School Photo Press
The print-and-fulfillment leg only -- produced to order, no packet sent home. Choose this when the shoot is already done and the question is about the physical product, not the software.
Running a picture-day BUSINESS across a district -- territories, agreements, commissions, rep payouts.schoolphoto.studio
School Photo Studio
The studio-operator's back office, not the family-facing product. Choose this if you run the studio; choose schoolphoto.network if you are looking for one.
The AI-adjacent parts of the workflow -- background removal, retouch, non-biometric auto-tagging.schoolphoto.ai
Schoolphoto.ai
Scoped narrowly to the assist features themselves, each stated as real or early-access on its own terms. Not a general product page, and not a face-matching pitch -- roster lookup stays the default everywhere in this fleet.
An independent photographer or studio deciding whether to join the network and list a studio.schoolphotographer.network
School Photographer Network
The supply-side recruitment home, not a feature page. Choose this to join; choose schoolphoto.network to see the two-sided product a joined studio operates inside.
Confirming the program operates in the United States, under US data and consent norms.schoolphotos.us
Schoolphotos.us
The jurisdiction framing -- answers "where do you operate", not "where do the bytes live" (that is schoolphoto.cloud) and not a feature question.

Adjacent addresses — grade bands and specialist workflows

Not part of the schoolphoto.* family by name, but the most common "I actually meant this one" destination.
What you needThe addressWhy this one and not the row above
Picture day for grades K-5 specifically.elementaryschoolphotos.network
Elementary School Photos Network
A grade band has its own pacing, consent language, and session length. This address is scoped to the elementary band rather than the general school-photography umbrella.
Picture day for grades 6-8 specifically.middleschoolphotos.network
Middle School Photos Network
The middle-grades band -- distinct scheduling and yearbook-cycle needs from elementary or high school picture day.
Picture day for grades 9-12, including underclass and yearbook portrait sessions.highschoolphotos.network
High School Photos Network
The high-school band, adjacent to but distinct from the dedicated senior-portrait product below.
A senior-portrait session specifically -- arranged by the family, alongside or instead of school picture day.seniorphoto.network
Senior Photo Network
A senior session runs on a family's own schedule with its own deliverables and a publication deadline. It is not a general school picture day, so it has its own address.
Just the day itself -- check-in, two-layer consent, an on-site earnings ledger.pictureday.software
Pictureday.software
Picture day is one input into the year-round toolchain at schoolphoto.software; this address is scoped to the event orchestration alone, not the order rails or pro-lab export that follow it.
ID-card production from roster-bound portraits, not the picture-day capture itself.studentid.software
Student ID
Downstream of the shoot -- takes a completed, consented portrait and produces the ID card. Not a capture tool and not the marketplace.

Looking for a photography discipline other than school work entirely -- portrait, wedding, event, sports, senior, commercial? That cross-discipline index is a separate, deliberately distinct instrument: thephotographer.directory.

The honest state of every address on this page

This is the part no directory in this category does, and it is the reason to use this page rather than a bookmark list. Every address above is probed out of band by a named job, and this page reads that probe at the moment you load it rather than baking a result into the page. What you get is the page title the probe actually read, or the word unknown with the reason attached. There is no green dot here, because a green dot is a claim and this page only reports readings.

This reading was taken at 2026-09-19T06:03:20Z, which is 5 hours ago against a 72 hour horizon. Its own freshness grade is FRESH.

  • schoolphoto.network no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • schoolphoto.software no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • schoolphoto.app no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • schoolphoto.cloud no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • schoolphoto.press no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • schoolphoto.studio no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • schoolphoto.ai no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • schoolphotographer.network no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • schoolphotos.us no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • elementaryschoolphotos.network no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • middleschoolphotos.network no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • highschoolphotos.network no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • seniorphoto.network no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • pictureday.software no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.
  • studentid.software no title readThe probe reached the DNS layer for this address but recorded no page title, so this page will not say anything about what the address is serving. A missing title is a missing reading, not an empty page.

A row reading unknown is not a claim that the address is down. It means this page does not currently hold a reading it is willing to show you, which is a different statement and the only honest one available.

How the state above is measured, and the two traps it avoids

Most status pages are wrong in one of two specific ways, and both look fine from the outside. Writing down which two is the only way to show this one is not.

Trap one: a page size is not a page

The obvious build is to fetch each address and call it healthy above a byte threshold. It does not work: a domain in this estate served over eleven thousand bytes of completely valid markup whose title was Page not found, and a deliberately nonexistent control domain, probed with a headless browser, returned a larger DOM than a real page -- its own error screen, valid markup, full weight. This page never derives a health flag from a byte count. It shows the title, because the title is the field that catches both.

Trap two: a stale reading is worse than none

The second failure is showing the last value you had and letting the visitor assume it is current. A reading with no age on it cannot be told apart from one three days old. The loader behind this page refuses that outright: past its freshness horizon a row goes to unknown rather than falling back, and an artifact with no parseable timestamp is treated as no artifact at all.

What a reading here actually covers

One layer, named. These readings come from the public side of the network, not the origin server, and the two can legitimately disagree. A reading also describes an instant -- an address can answer at the moment of the probe and not at the moment you click. This page hands you a title and an age and lets you draw the conclusion.

The declared method, quoted from the artifact rather than described by us

  • Name lookup: node:dns Resolver.resolveNs(<domain>), 8s timeout, 2 tries; provider classified by NAMESERVER SUFFIX (*.ns.cloudflare.com => cloudflare, *.domaincontrol.com => registrar-park), as declared by the probe artifact itself rather than assumed by this page.
  • Page content: chrome --headless=new --dump-dom https://<domain>/ ; records the <title> TEXT and the DOM byte length, and (separately) HTTP status + final URL via node fetch. NO boolean is derived from size: our own 404 page measured 11,385 bytes of valid DOM. Live := the <title> matches the product's EXPECTED title (see expectedTitleSource); a title alone is NOT liveness. No certificate check is stripped, again quoted from the artifact.

What a generalist school-photography vendor page does not have to solve, and why that is the gap

This is a comparison against a model, not a company -- no competitor is named on this site. A generalist vendor selling school photography from one domain never has to solve address disambiguation, because it never split its own offering into scoped addresses in the first place. The comparison below is honest about that: some rows are not "we beat them", they are "the problem does not exist for a single-domain vendor, and exists here because we chose depth over one undifferentiated page".

Read the ranking and payment rows first -- they are the two places a directory's incentives usually stop matching the visitor's, and both are absent here by design.
CapabilityThe generalist modelHere
Disambiguate a crowded address familyNot offered -- a generalist school-photography vendor sells from one domain, so there is no split to navigate.Offered as the whole point: nine schoolphoto.* addresses, each honestly scoped narrower than a generalist vendor's one-size page, indexed with a stated reason for each one over its neighbor.
Photographer or studio profileHosted on the incumbent's own domain, under the incumbent's brand, if offered at all.Not on this page at all -- a claimed studio profile lives on schoolphoto.network or schoolphotographer.network, on a domain the studio brands as its own. This index holds no profile.
Ranking and placementOften purchasable in a generalist vendor directory -- placement is a product sold to the listee, not a service to the visitor.None. There is no ranking and no promoted position on this page. The order of each table is fixed by the addresses' own structural scope, not by who paid.
Live status of the destinationNot offered anywhere in this category.Offered, dated and hedged correctly -- read at request time from a named probe, shown as the title the probe actually read, and shown as unknown rather than guessed when the reading is missing or stale.
Print and fulfillment routingUsually folded into one undifferentiated "contact us" page.A named, separately scoped address (schoolphoto.press) for exactly that leg, with the routing reason stated in this table.
Consent posture stated at the index levelNot addressed at the directory layer.Addressed in writing on this page: no student data of any kind lives here, and every routed address carries its own consent-gated posture, described honestly rather than assumed.
Payment on the directorySometimes yes, with the directory taking a cut of the listing or the booking.No. Money is honest-off on this page: no checkout runs here, no card is charged here, and this page takes no cut of anything.

What this page refuses to be, and why each refusal is load-bearing

A directory earns trust by what it declines to monetise, and a promise is only worth something if it is specific enough to catch us breaking it. Each line below is written so that you could tell, from the page alone, if we ever stopped meaning it.

  • This index will never carry a roster of photographers or schools. A roster on the index would put us between the studio and the school, and the moment we are in the middle the order of the roster becomes worth money. The nine addresses are the roster; each belongs to whoever runs it.

  • It will never sell placement or a promoted position. There is no position to sell because there is no ranking. Introducing one would quietly turn every routing claim on this page into a claim about who paid, with no way for a visitor to tell.

  • It will never publish a review, a rating or a star. We cannot verify that a review came from a real booking, in a category where manufactured reviews in both directions are routine.

  • It will never capture or resell a lead. There is no form on this page and nothing to submit. A visitor leaves for the address they chose, and we do not learn who they are on the way out.

  • It will never become a storefront. The storefronts are the nine addresses. If this page started selling, it would compete with the addresses it is supposed to route you to, and every routing decision on it would become suspect.

  • It will never show a green dot. A green dot is a conclusion. This page reports readings and their age and lets you draw the conclusion, because the only honest version of a status light here is one that is frequently, visibly unknown.

What this page knows about minors, which is nothing

This page is pure routing. It holds no student record, no roster, no consent status, and no photograph of any kind -- there is nothing here to be consent-gated because there is no data here at all. Every downstream address it routes to carries its own consent posture, and this page describes those postures honestly rather than restating a blanket claim on their behalf.

Consent lives downstream, not here

Each of the nine addresses that touches a student photograph enforces its own consent gate at the data layer -- a student without a completed consent record does not appear in a family-accessible gallery on any of them. This page does not repeat that mechanism; it only names which address to open.

Roster lookup, not face search, is the default everywhere downstream

A family finds their child by roster name across this fleet, not by a face scan. A separate, opt-in face-finding lane exists on some addresses, is not turned on in the software we run, and is never the default path described here or on any sibling this page routes to.

No public gallery, no directory of identifiable children

Nothing routed from this page implies an open, public gallery of students. Every gallery downstream is access-controlled and reached by the family it belongs to.

This page is not a school-procurement pitch

It is a routing instrument for photographers and school offices deciding which address to open, not an institutional sales page in its own voice. If you arrived looking for the school-operations platform itself, the buyer-facing addresses in the table above are where that pitch lives, not here.

How the money works, honestly

This index costs nothing to use, carries no advertising, and takes no cut of anything that happens after you leave it. It is not free because we are generous about it; it is free because it has no product to sell you. The revenue in this system sits on the nine addresses themselves, not on the page that points at them, and keeping those two things apart is what makes the routing on this page trustworthy.

Money on this page is honest-off. No checkout runs here, no card is charged here, and this page takes no cut of anything that happens downstream. Several of the nine addresses describe their own order-rails or payout infrastructure as built with live payment early-access -- that status belongs to those pages, and this page repeats none of it as its own claim.

This is a for-profit business, not a charity. Nothing here is a charitable gift and nothing on it is framed as a deductible donation.

Common questions, including the awkward ones

Why are there nine addresses for school photography instead of one?

Each address is scoped to a single angle on purpose -- the marketplace, the toolchain, the access app, the hosting story, the print leg, the studio-operator tools, the AI-adjacent features, the supply-side network, and the US framing. A page trying to be all nine at once would be shallower on every one of them. The cost of that depth is that nine names look alike from the address bar, which is exactly what this page exists to fix.

I already know I want school photography. Why not just go to schoolphoto.network?

Because schoolphoto.network is specifically the two-sided marketplace, and that is only one of the nine angles. If you are a school office asking where your data lives, that is schoolphoto.cloud. If you run a studio's back office, that is schoolphoto.studio. Going straight to .network only works if the marketplace is actually what you meant.

How is this different from thephotographer.directory?

thephotographer.directory indexes thirteen photography DISCIPLINES across the whole estate -- portrait, wedding, event, school, and so on -- and gives school photography exactly one row, pointed at schoolphotographer.network. This page starts one level in: it assumes you already want school photography and resolves the nine-way split inside that single discipline that thephotographer.directory's one row cannot show.

The state next to an address says unknown. Is it down?

No -- unknown is a statement about this page's reading, not a claim about the address. It means the probe artifact is missing, does not cover that address, or is older than the freshness horizon, so there is no reading this page is willing to show you. Showing you the last value we had, undated, would be the dishonest option and is exactly what the loader behind this page refuses to do.

Why show a page title instead of a simple up or down light?

Because up and down cannot be measured from here without lying. A domain in this estate served over eleven thousand bytes of valid markup whose title was "Page not found", and a deliberately nonexistent control domain, probed with a headless browser, returned a larger page than the real one -- its own error screen. Any size or status threshold calls both of those alive. The title is the field that catches them.

Can I list my studio or my school here?

Not on this page -- there is no roster or listing here at all. A studio claims and brands schoolphoto.network or schoolphotographer.network as its own storefront; a school works directly with the toolchain addresses. This page only tells you which of those to open.

Are the photographers reachable through these addresses verified or background-checked?

No page in this fleet claims that, and neither does this one. The platform runs no background-check bureau or licence check. What claiming a downstream address establishes is that a photographer controls that address and a storefront under it, tied to a real work email -- a genuine identity signal, not a vetting badge.

Can I pay for anything on this page?

No. There is no checkout on this page, no card is charged here, and this page takes no cut of anything that happens on the addresses it routes to.

Does this page hold any student photos or records?

No, none. This page is pure routing and holds no student data, no consent record, and no photograph of any kind. Every downstream address that does handle student photographs enforces its own consent gate independently of this page.

Two rows look like the same job. How do I choose?

That is what the right-hand column in each table is for. The pairs worth reading closely: schoolphoto.app versus schoolphoto.software (device access versus the toolchain itself), schoolphoto.cloud versus schoolphoto.press (where data lives versus what happens to a printed order), and schoolphoto.network versus schoolphotographer.network (the two-sided product versus the supply-side recruitment page for joining it).

What this page is and is not claiming

School Photo Directory is an index, not a marketplace and not a storefront. It holds no roster, no listing, no profile, no review, no rating and no ranking; it captures no lead and runs no form; and nothing on it is for sale. The nine schoolphoto.* addresses and six adjacent addresses it routes to are real owned domains, each independently built and independently honest about its own scope -- this page invents no member count, no booking count, and no named school or photographer, because there is no roster behind it to describe. The state shown beside each address is a reading from an out-of-band probe, read when this page was built, printed with its own timestamp and age, and shown as unknown — never as a last-known value and never as a green light — when it is missing, absent from the artifact, or past its freshness horizon. No liveness figure is written into this page’s source; every one of them comes from that loader at request time, because a committed snapshot of a mutable reading is wrong the day a host changes and looks authoritative anyway. Those readings are taken from the public side of the network, which is not the origin, and they describe an instant rather than a state of affairs. This page holds no student record, no consent status and no photograph of any kind; every downstream address that does handle student photographs enforces its own consent gate at the data layer independently of anything said here, and the default "find my child" path across this fleet is a roster-name lookup, never a face match by default. Money is honest-off: no checkout runs here, no card is charged here, and this page takes no cut of anything downstream of it. This is a for-profit business, not a charity. No competitor is named anywhere on this site, no statistic is quoted that was not measured by a named instrument on this estate, and no client, photographer or testimonial on this page is invented, because there are none on it at all.