Guides · Product

How to read a Consentiva walk report

October 24, 2026 · 26 min read · By The Equation Agency, LLC

Every walk you record with Consentiva becomes a report: a map, a timeline, a table of signals that were stronger than usual, your own marks and video, a picture of the whole spectrum, and a record-integrity check. This guide goes through each part in the order it appears, explains exactly what the numbers mean, works through real-world patterns, and shows how to verify and share the evidence package. Open the sample report alongside it if you'd like to follow along.

Where you'll see a report, and which version you're looking at

The same walk can be shown in a few slightly different ways. It helps to know which one is in front of you.

VersionWhere it comes fromWhat's different
Online reportOpened from the app or your accountFull report with street map; a link to download the evidence package
Zip copy (report.html)Inside the evidence packageSame content, works offline; the street map isn't shown when opened from a file; audio and video play from the files in the package
Linked phoneA walk recorded on a phone linked to your accountThe header says "Recorded on linked phone"; the account owner downloads the evidence package
Locked reportWalks on a Free accountShows that the recording worked (sweeps, distance, duration, your marks) but not the analysis

A Free account records 30 MHz–2.7 GHz and keeps recordings for 7 days, with analysis locked. Standard ($29/month) unlocks the analysis, reports, evidence packages and video, up to 2.7 GHz. Full ($45/month) adds 2.7–6 GHz. Details are on the plans page.

The header: what, when and with which receiver

The top of the report identifies the walk:

When you quote a time from the report in an email or complaint, quote the timezone with it. "18:42 Eastern" can't be misread; "18:42" can.

The stats cards: is this walk worth reading closely?

Below the header is a row of six numbers. Read them first; together they tell you how much weight the rest of the report can carry.

CardWhat it countsHow to use it
SweepsPasses across the whole frequency range during the walkMore sweeps means each place was looked at more often
Km walkedDistance along the GPS trackA very short distance with many sweeps means you mostly stood still
DurationMinutes from start to endDivide sweeps by duration to see your sweep rate
MarksYour tapped marks and audio notesContext for anything unusual
Unusual signalsRows in the unusual signals tableZero is a normal result, not a failure
% of sweeps with a baselineShare of sweeps that had a learned normal to compare againstLow means the walk was mostly learning

Why the baseline percentage matters most

Consentiva can only call something unusual if it knows what's usual for that place and time. If only 20% of sweeps had a baseline, then 80% of the walk wasn't checked for anything unusual at all. "0 unusual signals" on a walk with a 20% baseline means much less than the same result with 95%.

The sweep rate depends on the frequency range you record and on your setup. Work it out from the cards: 1,200 sweeps in 20 minutes is one sweep a second. That lets you turn the Sweeps column of the unusual signals table into rough time: at that rate, ten sweeps is about ten seconds of signal.

How Consentiva decides what's "unusual"

Everything in the report depends on the baseline, so it's worth understanding how it's built.

Where a block doesn't yet have enough data for that time of day, Consentiva can fall back to the same block at any time, or to a wider area. The evidence package's summary.json shows how many sweeps used each kind of baseline.

"Unusual" means "stronger than your own baseline for that place and time". It does not mean harmful, illegal or suspicious. Most unusual readings turn out to be ordinary radios, cell sites and Wi-Fi.

Route map

The map draws your route, coloured by how unusual each stretch was compared with the normal for that block:

Learning stretches, which had no baseline, are drawn green as well, because nothing was flagged there. Check the baseline percentage before reading a green route as "all normal".

Reading the map

When you open the zip copy from a file, the street map tiles aren't loaded and the report says so. The coloured route, pins and rings are still there; the online report shows the streets underneath.

Timeline

The timeline shows one bar per sweep, from the start of the walk on the left to the end on the right. The height of each bar is that sweep's anomaly score: how far the most unusual channel in that sweep was above normal, in dB. Bars use the same colours as the map: green for nothing unusual, amber for unusual, and red for strongly unusual (15 dB or more above normal). Your marks appear as dashed purple vertical lines.

It answers three questions quickly:

  1. When did it start, and how long did it last? A cluster of tall bars marks the period.
  2. Was it once or repeated? Separate clusters spread through the walk suggest something intermittent.
  3. Does it line up with something you marked? A cluster right after a purple line is the pattern a passing vehicle or a nearby transmission usually leaves.

The timeline is in time, not distance. If you stood still for ten minutes, that's a long stretch of the timeline and a single point on the map.

The unusual signals table, column by column

The table is titled Unusual signals (vs. your baseline). Each row is one signal: detections in overlapping frequency ranges across the walk are grouped into a single row. Rows are sorted with the largest excess above normal first. If nothing was flagged, the table says "nothing above baseline".

ColumnMeaning
PeakThe frequency where the signal was strongest, at the sweep where it stood out most
WidthThe range of frequencies flagged, combined across all sweeps in the row
Statusnew (normally nothing there) or elevated (a usual signal, much stronger than usual)
LevelThe measured level at that peak, in dBFS or dBm
NormalThe baseline level for that channel, block and time
AboveHow far above normal it was, in dB
SweepsHow many sweeps saw it
WhenThe first and last time it was seen
Likely serviceThe kind of service allocated that frequency, such as cellular, land mobile radio or Wi-Fi

Peak and Width

Peak tells you where to look on the spectrum chart. Width tells you what kind of signal it might be. A narrow width suggests a single radio channel, such as a two-way radio. A wide one suggests a cellular or Wi-Fi channel, or several neighbouring channels flagged together. Because the width is combined across the walk, a signal that drifts or is seen with slightly different edges on different sweeps can show a wider range than any single sweep did.

Status: new or elevated

Neither status says anything about who is transmitting. "New" is not the same as "never existed before": it means "not normally present in your baseline for this block and time". A taxi radio that happens never to have been on when you walked before is "new" to your baseline.

Level, Normal and Above

Level and Normal are the measured and baseline levels at the peak channel, in the report's unit. Levels are uncalibrated dBFS unless you entered a calibration offset, in which case they're shown in dBm. Compare them with each other, not with any external limit.

Above is the excess, in dB, and it's the column to read first. Decibels are logarithmic:

AbovePower compared with normal
+10 dB10 times
+15 dBabout 32 times
+20 dB100 times
+30 dB1,000 times
+40 dB10,000 times

Big ratios are common in radio. A handheld radio a few metres away can easily read 30 dB above a quiet channel. A large number tells you the signal was close or strong relative to what's normally there, not that it was dangerous.

Above is usually close to Level minus Normal, but it can be larger. Each channel is checked on two measurements, its peak level and its power, and Above reports whichever exceeded normal by more. Level and Normal are both peak levels. So a signal whose power rose more than its peak can show, for example, Level −52.0, Normal −65.0 and Above +17.4. That's expected, not an error.

Sweeps and When

These two columns, read together, tell you how persistent the signal was.

When gives the first and last detection, not a continuous period. A row reading 18:05–18:47 with 6 sweeps was seen six times in that window, not for 42 minutes.

Likely service

The likely service comes from the frequency allocation: what that part of the spectrum is set aside for. It's a strong hint, not an identification. A signal at a land mobile frequency is probably a two-way radio, but the report can't tell you whose. For the bands themselves, see 5G frequency bands explained and radio signals on a Miami street.

The learning note

If some sweeps had no baseline, a note above the table says how many, for example "120 of 400 sweeps were in places or times with no baseline yet". Those sweeps weren't checked. Walk the same areas again on other days, at the times you care about, to fill the gaps.

Your marks

The marks table lists everything you marked during the walk:

Marks turn a measurement into a story. "+28 dB at 18:42:10" means little alone; "+28 dB at 18:42:10, seven seconds after a vehicle mark: white van, roof antenna, parked" points to an explanation. A mark records what you saw or said. It isn't a measurement and it isn't proof of cause.

Marks made while GPS was poor may have a position some distance from where you really were. If a pin looks wrong on the map, trust your note and the time, and say so when you share the report.

Video evidence

On Standard and Full plans you can record short video clips during a walk. Each clip in the report has a card showing:

Press play and the row matching the moment on screen is highlighted, moving down the table as the video plays. This lets anyone see what the receiver measured while the camera was pointing at, say, an antenna on a roof. If no sweeps fell within the clip (the receiver was off or between sweeps), the table says so.

Spectrum over the walk

This chart shows the whole frequency range of the walk, low frequencies on the left. It is built from every sweep in the walk:

The legend gives the unit and the width of each channel. The mean power in each channel is also calculated and is included in summary.json in the evidence package.

Patterns to recognise

PatternWhat it usually means
Red and blue both high, close togetherA steady signal present for most of the walk, such as FM broadcast or cellular downlink
Tall red spike, low blue lineSomething that came and went: a radio transmission, a passing vehicle, a radar sweep
Shaded band where blue is lowAn unusual signal that was brief compared with the walk
Shaded band where blue is highUnusual for a large part of the walk, or a usual signal that was elevated throughout
Broad raised hump with no sharp peakA wideband signal such as a cellular or Wi-Fi channel, or broadband electrical noise
Wide gap between red and blue across many frequenciesLots of short-lived activity: a busy area, or a walk past many different sources

Remember that this chart covers the whole walk. A signal strong on one block and absent on the others shows its local strength in the red line, but the blue line, averaged over the walk, will be low. Use the map and timeline to see where and when.

Strongest signals seen

This table lists the strongest individual signals of the walk, regardless of the baseline:

FM stations and nearby cell sites usually top this list on every walk. That's normal: they're powerful and always on. A signal here with a high "Seen in" percentage that isn't in the unusual table is a strong signal that is normal for your route. A signal with a low percentage was strong but brief.

This table answers a different question from the unusual table. "What was strongest?" is about absolute level. "What was different?" is about change. A weak signal that is normally absent can be in the unusual table and nowhere near the strongest list, and that's often the more interesting one.

Record integrity

Every sweep, mark and video, and the start and end of each walk, is added to your account's hash chain. Each record's SHA-256 fingerprint is calculated from the previous record's fingerprint plus the record itself:

hash = SHA-256(prev_hash + record)

Change anything in any record, even one character, and its hash no longer matches. Change the hash to cover it up, and the next record's prev_hash no longer matches. Rewriting history would mean rewriting every later record, and the head hash would change.

The section shows:

The chain proves that records haven't been changed since they were received. It doesn't prove the receiver was accurate or that GPS was precise; those are measurement questions.

What this shows

The report ends with a short statement of its own limits. In summary: it documents RF emissions measured by the listed receiver at the listed times and places. "Unusual" means stronger than the account's own baseline for that location and time of day. Most transmitters on vehicles and buildings are legitimate. Levels are uncalibrated (dBFS) unless stated as dBm. Any finding should be verified by repeating the measurement.

Keep that statement with the report when you share it. It sets fair expectations for the reader and protects your credibility.

Worked interpretation scenarios

The figures below are illustrative, chosen to show the patterns clearly. Your own reports will differ in the details.

Scenario 1: a passing vehicle with a radio

You walk your usual evening route. The report shows one unusual signal:

PeakWidthStatusLevelNormalAboveSweepsWhenLikely service
453.400 MHz1 MHznew−38.2−71.5+33.3918:42:10–18:42:16UHF land mobile / business radio

The timeline has a short cluster of red bars at 18:42, just after a dashed purple line. Your marks table shows a vehicle mark at 18:42:08 with the note "white van, antenna on roof". The map has one red ring a few metres along from the purple pin, and the spectrum chart has a tall red spike at 453 MHz with a flat blue line beneath it.

Reading it: a narrow signal, normally absent, seen for a few seconds right as a vehicle with an antenna went past. Land mobile radio is used by businesses, utilities, taxis and public services. The most likely explanation is an ordinary two-way radio transmission. +33 dB looks dramatic, but a radio transmitting nearby on a channel that is normally quiet produces exactly that.

What to do: nothing, unless it recurs. If the same frequency turns up on several walks, note the times; a pattern may point to a nearby business's dispatch radio.

Scenario 2: a new cell site

You've walked the same route for weeks. This week the report shows three unusual signals, all wide, all with a cellular Likely service such as "Cellular PCS downlink (B2/25)", status "new" or "elevated", Above between +12 and +19 dB, and Sweeps in the hundreds, seen from the start to the end of the walk. The map is amber along two streets and green elsewhere. The red rings cluster near one corner.

Reading it: wide, steady signals in cellular bands, present for long stretches and strongest near one place. That pattern fits a new or reconfigured cell site, or a change to an existing one. Because unusual channels aren't added to the baseline, these will keep showing on later walks until the baseline is rebuilt. That's deliberate: a lasting change stays visible.

What to do: walk it again on another day at the same time to confirm. Look for new antennas near the corner where the rings cluster, and check public records of antenna sites. The guide to finding cell towers near you covers how. Mark the antenna on your next walk, and record a short video clip of it if your plan includes video.

Scenario 3: an intermittent signal

One row reads: Peak 915.2 MHz, narrow, new, Likely service "915 MHz ISM (smart meters, LoRa, RFID)", Above +21 dB, Sweeps 6, When 19:03:40–19:41:12. The timeline shows four separate short amber-to-red spikes spread through the walk, none near a mark. On the map, three of the four rings are on the same block.

Reading it: six sweeps over nearly 40 minutes means short bursts, not a steady signal. Three detections on one block suggest a fixed source there. The 902–928 MHz band is used by many unlicensed devices, such as smart utility meters, sensors and tags, many of which transmit briefly and periodically.

What to do: walk that block slowly, or stand there for a few minutes, so more sweeps cover it. Repeat at another time of day. If it always appears on that block, it is very likely a fixed device that reports in bursts. If you're concerned about a device in a vehicle or a bag, see finding hidden GPS trackers and bugs.

Scenario 4: a learning-heavy first walk

Your first walk shows: 412 sweeps, 2.1 km, 38 minutes, 3 marks, 0 unusual signals, 0% of sweeps with a baseline. The table says "nothing above baseline" and the learning note says "412 of 412 sweeps were in places or times with no baseline yet". The whole route is green.

Reading it: nothing was checked. The green route means "no comparison was possible", not "everything was normal". This is how every account starts.

What to do: walk the same route on other days, at the times you care about. A block and time needs data from at least two separate walks, so the second walk may still be partly learning. Watch the baseline percentage climb. Meanwhile, the "Strongest signals seen" table and the spectrum chart are still informative: they show what's on the air along your route. See how to survey radio signals for a good baseline plan.

Scenario 5: many bars, one row

Occasionally you may notice a pattern that seems inconsistent: the stats card shows "1 unusual signal", but the timeline has dozens of amber bars spread across the walk. That's because overlapping detections are combined into one row. Look at the Sweeps and When columns: a single row seen in 60 sweeps over 20 minutes explains all those bars.

Inside the evidence package

On Standard and Full plans, you can download an evidence package for any walk. It is a zip file containing:

FileWhat it is
ledger.jsonlOne line per record this walk added to the hash chain: seq, kind, record, prev_hash and hash
sweeps/NNNNNN_pk.i16The peak levels for each channel of sweep number NNNNNN
sweeps/NNNNNN_pw.i16The power levels for each channel of the same sweep
audio/Voice mark recordings, named after the mark
video/Video clips, named after the clip
summary.jsonThe figures the report is built from: route, findings, strongest signals, spectrum summary, baseline use
report.htmlThe report itself, readable offline
VERIFY.txtPlain-text instructions for checking the package

The ledger

Each line of ledger.jsonl is a JSON object. The record field is itself a JSON string: the exact bytes that were hashed. For a sweep, the record includes the time, GPS position and accuracy, the start frequency, channel width (step_hz), number of channels (n), the unit, the strongest peaks, the sweep number (seq) and the SHA-256 of both sweep files (pk_sha256, pw_sha256). Mark records include audio_sha256 when there is a recording. Video records include the clip's sha256.

Note that there are two different sequence numbers. The seq on each ledger line is the record's position in your account's chain. The seq inside a sweep record is the sweep's number within the walk, and that's the NNNNNN in the sweep file names.

The sweep files

Each .i16 file is a plain array of little-endian 16-bit signed integers, one per channel, each in tenths of a dB. A stored value of −523 means −52.3 dB. Channel i starts at start_hz + i × step_hz. The unit (dBFS, or dBm if a calibration offset was set) is in the sweep record.

How to verify an evidence package, step by step

Verification lets anyone, not just you, confirm that the package is complete and unaltered. It needs no account and no contact with Consentiva.

  1. Keep the original. Make a copy of the zip and work on the copy. Record the SHA-256 of the zip file itself so you can later show that the copy you shared is the one you downloaded.
  2. Unzip it into an empty folder.
  3. Read VERIFY.txt. It states the rules the steps below check.
  4. Check each ledger line. For every line, SHA-256 of prev_hash followed by record (both as text, UTF-8) must equal hash.
  5. Check the links. Each line's prev_hash must equal the previous line's hash. If the ledger seq numbers jump (for example 311 then 315), records from another walk sit between them, so that pair can't be linked from this package alone; the server checks the account-wide chain.
  6. Check the files. Each sweep file's SHA-256 must equal pk_sha256 or pw_sha256 in its sweep record. Each audio and video file must match the hash in its mark or video record.
  7. Compare with the report. The ledger rows in the Record integrity section should match the start of ledger.jsonl.

Checking one file by hand

To check a single file without writing code, compute its SHA-256 and compare it with the record:

A Python script that checks everything

Save this as verify_walk.py and run python3 verify_walk.py path/to/unzipped-folder. It uses only the Python standard library.

import glob, hashlib, json, os, sys

folder = sys.argv[1] if len(sys.argv) > 1 else "."

def sha256_file(path):
    h = hashlib.sha256()
    with open(path, "rb") as f:
        for block in iter(lambda: f.read(1 << 20), b""):
            h.update(block)
    return h.hexdigest()

def check_file(path, expected):
    if not os.path.exists(path):
        return "MISSING " + path
    if sha256_file(path) != expected:
        return "MISMATCH " + path
    return None

with open(os.path.join(folder, "ledger.jsonl"), encoding="utf-8") as f:
    lines = [json.loads(line) for line in f if line.strip()]

problems, gaps, files_checked, prev = [], 0, 0, None
for e in lines:
    # 1. each hash must equal SHA-256(prev_hash + record)
    calc = hashlib.sha256((e["prev_hash"] + e["record"]).encode("utf-8")).hexdigest()
    if calc != e["hash"]:
        problems.append(f"seq {e['seq']}: hash does not match its record")
    # 2. consecutive records must link; a jump in seq means
    #    records from another walk sit in between (not an error)
    if prev is not None:
        if e["seq"] == prev["seq"] + 1:
            if e["prev_hash"] != prev["hash"]:
                problems.append(f"seq {e['seq']}: prev_hash does not match seq {prev['seq']}")
        else:
            gaps += 1
    prev = e

    # 3. files named in a record must match the fingerprint stored in it
    rec = json.loads(e["record"])
    targets = []
    if e["kind"] == "sweep":
        stem = os.path.join(folder, "sweeps", "%06d" % rec["seq"])
        targets = [(stem + "_pk.i16", rec["pk_sha256"]), (stem + "_pw.i16", rec["pw_sha256"])]
    elif e["kind"] == "mark" and rec.get("audio_sha256"):
        found = glob.glob(os.path.join(folder, "audio", rec["mark"] + ".*"))
        targets = [(found[0] if found else "audio/" + rec["mark"], rec["audio_sha256"])]
    elif e["kind"] == "video":
        found = glob.glob(os.path.join(folder, "video", rec["video"] + ".*"))
        targets = [(found[0] if found else "video/" + rec["video"], rec["sha256"])]
    for path, expected in targets:
        files_checked += 1
        err = check_file(path, expected)
        if err:
            problems.append(err)

print(f"{len(lines)} records, {files_checked} files checked, {gaps} gap(s) in seq")
print("last hash in this package:", lines[-1]["hash"])
if problems:
    print("FAILED:")
    for p in problems:
        print("  " + p)
    sys.exit(1)
print("OK: every hash, link and file matches")

On an intact package it prints the number of records and files checked, then "OK". If anything has been edited, it names the record or file. We tested it on the sample evidence package from the samples page, and on copies with one changed character in a record, one changed byte in a sweep file, a missing audio file and a broken link; each change was reported.

Reading a sweep file

To look inside a sweep, this short script prints the number of channels and the strongest one. Run it as python3 read_sweep.py folder 0 for sweep 000000.

import json, struct, sys

folder, n = sys.argv[1], int(sys.argv[2])   # n = the sweep's "seq"
rec = None
for line in open(folder + "/ledger.jsonl", encoding="utf-8"):
    e = json.loads(line)
    r = json.loads(e["record"])
    if e["kind"] == "sweep" and r["seq"] == n:
        rec = r
        break

raw = open(folder + "/sweeps/%06d_pk.i16" % n, "rb").read()
levels = [v / 10 for v in struct.unpack("<%dh" % (len(raw) // 2), raw)]
assert len(levels) == rec["n"]
best = max(range(len(levels)), key=lambda i: levels[i])
lo = rec["start_hz"] + best * rec["step_hz"]
print(f"{len(levels)} channels of {rec['step_hz'] / 1e6:g} MHz, unit {rec['unit']}")
print(f"strongest: {levels[best]} in the channel starting at {lo / 1e6:g} MHz")

The format string <%dh means little-endian (<) 16-bit signed integers (h).

What a failure means

MessageLikely cause
hash does not match its recordThe record text was changed after hashing, or the line was damaged in copying
prev_hash does not matchA record was removed, reordered or replaced between two consecutive records
MISMATCH on a sweep, audio or video fileThe file was edited, re-encoded or replaced
MISSINGThe file was deleted or the zip was only partly extracted
Gaps in seqNot an error: other walks' records sit between this walk's records in your account chain

A failure on a file you opened in another program is the most common cause. Some media players and editors save changes silently. Always verify the untouched original.

The head hash

The last hash in the package is the fingerprint of this walk's final record. The head hash in the report is the latest record on your whole account when the report was produced. They are the same only if nothing was recorded after this walk. Keeping a note of the head hash with a date, for example in an email to yourself or your lawyer, fixes the state of your record at that moment.

Sharing a report with a lawyer, a utility or the FCC

Different readers need different things. In every case, share the report and the package unchanged, and keep the original.

A lawyer

An electric utility

The FCC

Don't describe an unusual signal as illegal, harmful or deliberate unless you have evidence beyond the report. The report shows that a signal was stronger than your baseline; it doesn't show who was transmitting or why. Accurate wording makes you more credible, not less.

Common misreadings

MisreadingWhat the report actually says
"Unusual means dangerous."Unusual means stronger than your own baseline for that place and time. It says nothing about effects on people.
"+30 dB is a thousand times the safe level."+30 dB is a thousand times your baseline at that frequency, which is often a very quiet channel. It isn't compared with any limit.
"The levels are in dBm."Only if you entered a calibration offset. Otherwise they're dBFS: relative to the receiver, not absolute power.
"A green route means nothing unusual."Only where there was a baseline. Check the percentage of sweeps with a baseline.
"0 unusual signals means nothing is there."It means nothing exceeded the baseline. Strong normal signals are listed in "Strongest signals seen".
"New means it has never been there."New means it isn't normally present in your baseline for that block and time.
"When 18:05–18:47 means it was on for 42 minutes."It was first and last seen at those times. Check Sweeps for how often.
"Likely service tells me who it is."It tells you what the frequency is allocated for, not who is transmitting.
"Above should equal Level minus Normal."Above can be larger, because it reports the bigger excess of the peak and power measurements.
"A mark next to a signal proves the cause."It shows two things happened at the same time and place. That's a lead to check, not proof.
"Verified means the measurements are accurate."Verified means the records are unchanged since they were received. Accuracy is a separate question.
"The map is missing, so the file is broken."The zip copy doesn't load street tiles when opened from a file. The online report shows them.

A short glossary

Common questions

What does "unusual" mean in a Consentiva report?

It means a signal was stronger than your own learned baseline for that block (about 150 m) and time of day. It doesn't mean harmful, illegal or suspicious, and most unusual readings are ordinary radios, cell sites or Wi-Fi.

What is the difference between "new" and "elevated"?

New means there is normally nothing noticeable at that frequency in your baseline for that place and time. Elevated means a signal that is usually there was much stronger than usual.

Why does my first walk show 0 unusual signals?

Because there was no baseline to compare against yet. Check the percentage of sweeps with a baseline; walk the same route on other days and the comparison starts to work.

What does +30 dB in the Above column mean?

The signal was about 1,000 times stronger in power than your baseline at that frequency, place and time. It is a comparison with your own normal, not with any exposure limit.

Are the levels in a report in dBm?

Only if you entered a calibration offset. Otherwise they are uncalibrated dBFS, relative to the receiver's full scale, which is fine for comparing with your baseline but not an absolute power.

How can someone else check that my evidence package hasn't been altered?

For every line of ledger.jsonl, SHA-256 of prev_hash plus record must equal hash, each prev_hash must match the previous hash, and each sweep, audio and video file must match the fingerprint in its record. VERIFY.txt explains this and the guide includes a Python script that checks it all.

Does the report show who is transmitting?

The measurements show which frequencies were stronger than usual, when and where, and the kind of service each frequency is allocated to. If you recorded video on the walk, the report shows each clip next to the RF readings for the same seconds, so you can see who or what was there when the signal peaked.

Why is the street map missing from the report in my zip file?

Street map tiles aren't loaded when report.html is opened from a file. The route, marks and signal rings still appear, and the online report shows the streets underneath.