Reference · CLOCKEDF12

DECODE F12

What developer tools actually see, where the evidence lives, and how investigators read it. Written for investigators, not developers. No programming background assumed.

Four sections. Open a section, open a topic. Nothing expands until you ask it to.
01Understanding F12

How developer tools work, what the browser receives, and what the primary inspection panels are for.

What is DevTools?

DevTools is a collection of inspection and debugging tools built into modern browsers. It shows the code, resources, requests, responses, and browser-side information involved in operating a website.

What appears on a webpage is not necessarily everything the browser received. DevTools allows that underlying information to be examined.

Why it mattersThe rendered page is the version dressed up for a visitor. The layer DevTools watches is the version the server actually sent. Investigations live in the difference.
What does F12 mean?

F12 is the keyboard shortcut that opens Developer Tools in Chrome and Edge on Windows. CLOCKEDF12 takes its name from this key: the one that opens the layer most people never look at.

How browsers exchange information with servers

A page view is a conversation. The browser sends a request describing what it wants; the server returns a response containing what it decided to send. One page can produce dozens of these exchanges: the document, the styles, the scripts, then background requests for the actual data.

Why it mattersEverything an investigator can learn from a website arrives inside one of these responses. If you understand the exchange, you understand where every piece of evidence on this page comes from.
Elements

The Elements panel shows the webpage's live HTML structure: the document as it exists right now, not just as it was originally delivered.

It can reveal hidden elements, form fields, data attributes, comments, embedded values, and information present in the document but not displayed.

Why it mattersUseful for identifying page content, references, and identifiers that are not immediately visible. A field hidden by styling is still in the document, and so is its value.
Network

The Network panel records requests made by the browser and responses received from servers: documents, scripts, images, API traffic, redirects, response codes, and other resources.

Why it mattersResponses may contain structured records, identifiers, timestamps, status information, and additional fields the interface never displays. This panel is where most technical evidence lives.
Sources

The Sources panel provides access to loaded JavaScript, CSS, documents, and other inspectable resources, with code navigation and debugging.

Why it mattersUseful for understanding application behavior, identifying referenced services, tracing data handling, and examining source maps.
Application

The Application panel provides access to supported browser storage, application manifests, service workers, and cached resources.

Why it mattersUseful for examining browser-side application state, stored identifiers, records, and configuration information the site asked your browser to keep.
Console

The Console displays browser diagnostics, JavaScript errors, warnings, and messages generated by website code.

Why it mattersErrors and diagnostic output may reveal failed requests, source locations, unexpected behavior, or additional technical context the site did not intend to surface.
Memory and Performance

These panels examine JavaScript memory use and application performance: object lifetimes, execution activity, rendering cost.

Why it mattersOccasionally useful for analyzing application behavior. For most investigations they are secondary to Network, Sources, and Application.
DevTools versus CLOCKEDF12

Ordinary DevTools shows everything described on this page, live, while you operate it by hand. Chrome's extension system does not give extensions every one of those capabilities. CLOCKEDF12 automates the parts the platform actually permits: recording network traffic and response bodies, reading page structure and browser storage, observing page changes, and capturing console output and WebSocket frames. Deep memory profiling and performance tracing stay manual, in DevTools itself. If a future version claims a capability, it will be because the capability exists and was verified, not because it sounded good on a list.

02Where Information Lives

Network responses, application records, page structure, JavaScript, metadata, source maps, console activity, WebSockets, and overlooked technical references.

API responses

An API enables software systems to exchange information. Responses commonly use JSON and may contain substantially more information than the website displays.

Look for record identifiers, statuses, timestamps, related objects, notes, and application-specific fields.

Why it mattersThe profile panel might show four fields while the response behind it carries forty. The actual response provides the evidence; the endpoint name alone does not establish its contents.
Fetch and XHR

Fetch and XMLHttpRequest are the mechanisms websites use to exchange data without reloading the page. They fire when users search, open profiles, submit forms, or request more information.

Why it mattersThey connect visible website activity with the information exchanged in the background. In the Network panel, the Fetch/XHR filter isolates exactly these exchanges.
HTML comments

Comments are notes embedded in source code. Developers use them to document changes, reference older resources, or communicate implementation details.

<!-- TODO: update legacy profile route -->
Why it mattersComments occasionally contain historical references, technical identifiers, feature names, or development information. Their importance depends on the actual contents; most are housekeeping.
Hidden elements

Webpages can contain HTML elements that are not currently displayed, controlled by CSS, JavaScript, user interactions, or application state.

Why it mattersHidden fields and attributes can contain identifiers, references, or values the application uses silently. Hidden by styling is not absent from the document.
Data attributes

HTML elements can carry custom data-* attributes that store application values directly on the element: a record id on a row, a status on a button, a reference number on a card.

<div class="account-row" data-account-id="847291" data-review-state="pending">
Why it mattersData attributes often hold the exact identifiers the interface displays only partially, or does not display at all. They sit in the document where anyone inspecting it can read them.
Metadata

Metadata describes a webpage to browsers, search engines, and social platforms. Relevant fields include author, description, canonical URL, Open Graph image and title, verification identifiers, and alternate URLs.

Why it mattersThese fields can provide clues about publishing identities, related resources, earlier project names, or website associations. Any apparent relationship should be corroborated before it is treated as one.
JavaScript

JavaScript controls interactions and application behavior. It can contain API references, application settings, resource paths, embedded objects, and functions used to process browser data.

Why it mattersExamining scripts establishes how a website communicates and which resources it depends on. Configuration the interface never mentions is sometimes sitting in a script in plain text.
Source maps

Production code is often compressed or transformed. Source maps connect generated JavaScript or CSS back to the original source locations.

Why it mattersAvailable source maps may reveal original filenames, source structure, or readable code. A reference to a source map does not guarantee the original source is available; often the map exists but its contents were never published.
Website manifests

A web application manifest describes an installable website application: its name, icons, start URL, and display preferences.

Why it mattersMay identify application names, entry points, and related resources, including names that differ from the public branding.
Robots.txt

A robots.txt file provides instructions to automated web crawlers about which paths they should avoid.

Why it mattersIt can reveal referenced paths that are not obvious from the site's navigation. A disallowed path is not necessarily private, accessible, or even present; it is a lead, not a finding.
Sitemaps

Sitemaps identify URLs intended to help search engines discover website content.

Why it mattersUseful for mapping website sections and documented URLs, including sections that receive little visible promotion.
Browser storage

Websites store information through cookies, Local Storage, Session Storage, IndexedDB, and CacheStorage.

Why it mattersThese records reveal how the browser maintains application state and which identifiers, settings, and records are stored locally. IndexedDB in particular can hold entire working datasets.
WebSockets

WebSockets maintain an ongoing connection between browser and server, commonly used for messaging, notifications, dashboards, and live updates.

Why it mattersCaptured message frames may contain structured information that changes in real time. A frame captured at the right moment can show data that was never in any ordinary response.
Image metadata

Image files may contain filenames, timestamps, software identifiers, camera information, and other embedded metadata.

Why it mattersAvailable metadata can help establish file characteristics or processing history. Report what was found in the actual file; many images carry no metadata at all, and assuming it exists is how errors start.
Global application state

Some applications keep configuration or working state in global JavaScript objects attached to the page itself: feature flags, environment names, queue counts, embedded configuration.

Why it mattersThese objects can reveal application structure and browser-side data the interface never shows. Not all state is global, so finding nothing here means nothing by itself.
Console diagnostics

Website code writes errors, warnings, and diagnostic messages to the browser console: failed requests, deprecated calls, stack traces with file and line references.

Why it mattersA failed request tells you something was attempted. A stack trace names real source files. Diagnostics are the application narrating its own problems, and the narration is often more specific than anything on the page.
Temporary page content

Websites insert, replace, or remove information without reloading. A message might appear briefly. A status may change after a response. An element may disappear following a user action.

Why it mattersObserving these changes establishes what appeared, what changed, and when. Content that flashed and vanished is still content the browser received.
03Reading the Data

Status codes, methods, file types, technical terms, and how to separate meaningful evidence from routine website activity.

HTTP status codes

Every response carries a three-digit status. The table is searchable from the field at the top of this page.

CodeMeaning
200The request succeeded.
201The server created a resource.
204The request succeeded without returning a response body.
301Permanent redirect.
302Temporary redirect.
304The browser can reuse a cached resource.
400The server could not process the request as submitted.
401Authentication is required or was not accepted.
403The server refused access.
404The requested resource was not found.
408The request timed out.
429The server is limiting requests.
500Internal server error.
502Invalid response from an upstream server.
503Service temporarily unavailable.
504Gateway timeout.
Read them correctlyThese codes describe request outcomes, not the investigative value of the resource. A 403 on an internal path tells you the path exists and is guarded. That is information. A 404 tells you nothing was there, at least not at that moment.
HTTP request methods
MethodPurpose
GETRetrieves information or a resource.
POSTSubmits information for processing.
PUTCreates or replaces a resource at a specified location.
PATCHUpdates part of an existing resource.
DELETERequests removal of a resource.
HEADRetrieves response headers without the response body.
OPTIONSIdentifies supported communication options.
Why it mattersThe method tells you what the browser was trying to do. A GET reads; a POST, PUT, PATCH, or DELETE writes. That distinction decides whether an address is safe to open for a look or should be treated as evidence only.
JSON

JSON is the structured data format most API responses use. Every field has a key and a value.

{"userId":8392,"status":"pending","updatedAt":"2026-10-27T14:30:00Z"}
  • userId identifies the field; 8392 is the recorded value.
  • status describes an application-defined state.
  • updatedAt is a timestamp field.

The meaning of each value depends on its application context. A field named status on a moderation record means something different from status on a shipping record.

Common technical terms
TermMeaning
APIApplication Programming Interface.
DOMDocument Object Model.
HTMLHyperText Markup Language.
CSSCascading Style Sheets.
JSJavaScript.
JSONJavaScript Object Notation.
XHRXMLHttpRequest.
CDNContent Delivery Network.
DNSDomain Name System.
IPInternet Protocol address.
ASNAutonomous System Number.
RDAPRegistration Data Access Protocol.
UUIDUniversally Unique Identifier.
UIDAn identifier whose exact meaning depends on the application.
PayloadData carried by a request or response.
BearerCommonly refers to a credential used in an authorization header.
MIME typeIdentifies the format of a resource.
TimestampA representation of a date or time.
File types and naming patterns
FileWhat the name suggests
user.jsMay contain user-related application logic.
profile.jsMay handle profile functionality.
settings.jsMay contain settings logic.
api.jsMay contain code for communicating with APIs.
config.jsMay contain configuration data.
auth.jsMay handle authentication-related operations.
main.jsOften a primary application script.
vendor.jsOften contains third-party library code.
*.mapCommon source-map extension.
*.cssStylesheet.
*.jsonStructured data file.
Read them correctlyFilenames are clues, not confirmation of what a file contains. A file called auth.js is a reason to look inside, never a finding by itself.
Timestamps

Timestamps appear in several formats: ISO text like 2026-10-27T14:30:00Z, and Unix numbers counting seconds (or milliseconds) since January 1, 1970. A ten-digit number near 1.7 billion is usually seconds; thirteen digits is usually milliseconds.

Why it mattersConverted accurately, timestamps order events: when a record was created, changed, or reviewed. Two events that share a timestamp window are worth comparing; the comparison is only as good as the conversion.
Record identifiers

Applications label their records: account ids, user ids, job numbers, reference codes, UUIDs. Some are sequential, some random, some readable.

Why it mattersThe same identifier appearing in two captured records is a concrete connection between those records. It establishes that the records share a value; whether they describe the same person is a separate question that needs the surrounding fields.
IP addresses

An IP address identifies network infrastructure: a server, a load balancer, a provider's range. IPv4 looks like 203.0.113.10; IPv6 is longer with colons.

Why it mattersAn IP can place a service with a hosting provider or an organization, and shared hosting can connect resources. It identifies infrastructure, not an individual person. Treat it as a lead about the machine, not the human.
API endpoints

An endpoint is the specific address an application uses for one operation: /api/v2/users/847291 reads a user, /api/v2/export might create something.

Why it mattersThe path tells you the intended operation, but the captured response tells you what actually happened. Read the method with the path: a GET reads, a POST writes. Addresses that look state-changing belong in evidence viewers, not in a fresh browser tab you just triggered.
Redirects

A redirect sends the browser somewhere else: 301 permanently, 302 temporarily. Chains of redirects can pass through several addresses before settling.

Why it mattersThe intermediate stops are evidence. A redirect chain can reveal older domains, renamed services, or tracking infrastructure that never appears in the final page's address bar.
Signal versus noise

Modern websites frequently load hundreds of technical resources. Many are ordinary dependencies: frameworks, fonts, analytics scripts, stylesheets, repeated requests. They are part of the evidence, but they do not all carry the same investigative value.

A relevant record identifier, a meaningful response field, a historical reference, or a corroborated connection may deserve closer attention than ordinary styling resources. The actual content and context determine importance, and even a routine resource can become relevant when it contains a meaningful reference.

Understanding relevance

A matching username establishes that a matching string appeared. It does not automatically establish that two accounts belong to the same person. A repeated account identifier may provide a stronger connection when supported by its record context. An IP address may identify network infrastructure without identifying an individual.

The disciplineKeep three categories separate in your notes: observed information, possible associations, and corroborated relationships. Most investigative mistakes come from promoting the first into the third without doing the work in between.
Understanding missing results

Four outcomes that do not mean the same thing:

  • Not found in inspected evidence: the material was examined and the item is not in it.
  • Source unavailable: the source could not be retrieved at all.
  • Source not inspected: the source exists but was never examined.
  • Analysis incomplete: the examination started but did not finish.
Why it mattersA missing result is only meaningful when the extent of the examination is understood. "Not found after a complete search" and "the search never ran" belong in different sentences of a report.
04Investigative Techniques

Global searching, observing page changes, examining request sequences, tracking source references, and identifying worthwhile pivot points.

Global search

In Chrome DevTools on Windows, Ctrl + Shift + F searches across available loaded source resources. Useful for finding repeated strings, API references, identifiers, filenames, and application terminology.

Ordinary DevTools source search does not automatically cover every response body or browser storage record. CLOCKEDF12's own evidence search covers all supported captured and indexed sources: findings, response bodies, the structured field index, storage records, console output, WebSocket frames, configuration files, and recovered source maps.

Open file

Ctrl + P opens the source-file navigation interface within DevTools: jump straight to a known JavaScript or other loaded source file without clicking through folder trees.

Command Menu

Ctrl + Shift + P opens the DevTools Command Menu, the fastest route to inspection commands and developer functions.

Console drawer

Esc toggles the DevTools drawer in supported contexts, letting you watch console output alongside another panel.

Following network activity

Open DevTools, select Network, and observe what happens when the page loads or an action is performed. The Fetch/XHR filter isolates the requests that frequently exchange structured data.

Why it mattersCompare visible interactions against the actual requests and responses. What you clicked and what the browser then asked for are both evidence, and the pair is worth more than either alone.
Watching page changes

DOM mutation inspection identifies elements that are added, removed, or modified. DevTools also supports DOM modification breakpoints.

Why it mattersUseful for understanding temporary messages, changing fields, and dynamic content. Note that breakpoints pause JavaScript execution and affect normal page behavior; observing without pausing is less intrusive. CLOCKEDF12 records page changes with before and after values and never interrupts the page.
Examining event listeners

Event listeners connect actions such as clicks, input changes, and submissions to JavaScript functions.

Why it mattersUnderstanding which functions respond to an action helps explain the page changes and network activity that follow it.
Inspecting global variables

Some applications expose configuration or state through global JavaScript objects.

Why it mattersThese objects may reveal application structure, settings, and browser-side data. Not all application state is global or reachable through the Console, so an empty result here means nothing by itself.
Examining minified code

Production JavaScript is frequently compressed into large bundles. Searching for relevant terms or using available source maps is usually more practical than reading minified code line by line.

Why it mattersIdentifies meaningful application references without reviewing thousands of unrelated lines.
Examining WebSocket frames

In DevTools, WebSocket connections appear in the Network panel. Their message views show the frames transmitted during the connection.

Why it mattersUseful for analyzing real-time information flow and the sequence of recorded messages.
Verifying evidence

Before a finding goes in a report, confirm three things: the evidence is the original captured material, not a retelling of it; the interpretation states what the material actually shows; and the limits of the examination are written down.

Why it matters"The response contained this field" is verifiable. "This proves the accounts are linked" usually is not. Work that cannot be traced back to a captured original is an opinion, and it will be treated like one.
Following historical references

Pages carry their history: old routes in comments, former names in metadata, legacy files still referenced, archived versions of the same page in public archives.

Why it mattersEarlier versions of a site often expose what the current one learned to hide: previous endpoints, team names, contact details, earlier branding. A historical reference is a lead with a date attached; verify what is still true before relying on it.
Investigative pivots

A pivot is a finding that creates another reasonable direction to investigate. Examples:

  • An identifier appears in a second captured record.
  • A referenced domain has associated public infrastructure records.
  • A username appears in a dated historical source.
  • A response contains a related record identifier.
  • A timestamp connects two observed events.

For every pivot, state what the discovery establishes and what remains unverified. A shared identifier establishes a shared value; it does not establish a shared owner.

How CLOCKEDF12 handles pivots

CLOCKEDF12 performs supported follow-up research inside the extension: registration data, public DNS, certificate transparency, public archives, and cross-record comparison. It marks a finding as a pivot only when that research actually returned something, and it labels the outcome honestly: evidence returned, nothing relevant found, lookup failed, unsupported, or the investigation limit was reached. This reference exists so you can interpret that process rather than take it on faith.

Nothing in this reference matches that search. Try a status code, a file extension, or a panel name.

How CLOCKEDF12 uses this information

Everything in this reference is something the extension does with you or for you. Specifically, CLOCKEDF12:

  1. Inspects supported browser data.
  2. Organizes the findings.
  3. Separates routine resources from potentially meaningful discoveries.
  4. Provides short contextual explanations.
  5. Links each finding to its original evidence.
  6. Evaluates relationships to an investigation target.
  7. Identifies potential pivot points.
  8. Performs supported follow-up research.
  9. Makes the findings searchable and reviewable.
  10. Clearly identifies incomplete or unavailable sources.

Nothing on this list is claimed before it is implemented and verified. Back to CLOCKEDF12 and installation.