Skip to content
wiki.fftac.org

Virtual Pages - Source Excerpt 55

Back to Virtual Pages

Summary

This source excerpt preserves a bounded section of 2IA.org/wp-content/themes/twoia-intelligence/inc/virtual-pages.php so readers can inspect the evidence without opening the full source file.

**Source path:** 2IA.org/wp-content/themes/twoia-intelligence/inc/virtual-pages.php

$route_questions = array(
		'what-they-look-for'              => __( 'What data turns ordinary speech, movement, research, or association into a surveillance flag?', 'two-identities-anonymous' ),
		'why-they-look'                  => __( 'Where does a real security purpose end and open-ended monitoring begin?', 'two-identities-anonymous' ),
		'two-identities'                 => __( 'Who gets to merge a chosen identity with a record identity, and how can that link be challenged?', 'two-identities-anonymous' ),
		'surveillance-systems'           => __( 'Which contract, policy, or renewal turned monitoring from an idea into infrastructure?', 'two-identities-anonymous' ),
		'open-source-intelligence'       => __( 'Does this OSINT claim prove institutional conduct, or does it merely expose a private person?', 'two-identities-anonymous' ),
		'anonymous-hacktivist-collective' => __( 'What evidence separates anonymous civic speech from attribution theater or unlawful conduct?', 'two-identities-anonymous' ),
		'psychological-warfare'          => __( 'Who benefits when a narrative spreads faster than its proof?', 'two-identities-anonymous' ),
		'metadata-is-identity'           => __( 'What can a metadata trail reveal that the content itself never says?', 'two-identities-anonymous' ),
		'ai-surveillance'                => __( 'What evidence shows a score can be challenged by a human with authority?', 'two-identities-anonymous' ),
		'keyword-monitoring'             => __( 'How does the system distinguish research, quotation, reporting, fiction, and dissent from intent?', 'two-identities-anonymous' ),
		'false-positives'                => __( 'Where did the bad signal enter, where did it travel, and who can prove it was repaired?', 'two-identities-anonymous' ),
		'ethics-and-civil-liberties'     => __( 'How do we expose the system without turning bystanders into collateral damage?', 'two-identities-anonymous' ),
		'lawful-contact'                 => __( 'Which office can answer the record request without turning civic pressure into noise?', 'two-identities-anonymous' ),
		'research-archive'               => __( 'What record trail lets readers test the claim instead of trusting the archive?', 'two-identities-anonymous' ),
		'research'                       => __( 'Which record changes the claim first, and where should the next request go?', 'two-identities-anonymous' ),
		'issues'                         => __( 'Which system threatens freedom here, and what record would make it answerable?', 'two-identities-anonymous' ),
		'resources'                      => __( 'What practical step turns concern into a records request, source check, or correction path?', 'two-identities-anonymous' ),
		'organizations'                  => __( 'Which organization actually fits this issue, region, risk, and verification need?', 'two-identities-anonymous' ),
		'privacy-policy'                 => __( 'What data does the site collect, and what can it refuse to collect by design?', 'two-identities-anonymous' ),
		'contact'                        => __( 'What can be sent through ordinary contact without risking sources, private people, or the record?', 'two-identities-anonymous' ),
		'start-here'                     => __( 'What is the first record, office, or appeal path that makes this problem answerable?', 'two-identities-anonymous' ),
		'methodology'                    => __( 'What evidence would prove the claim, limit it, or force 2IA to correct it?', 'two-identities-anonymous' ),
		'public-records-and-foia'        => __( 'Which custodian holds the contract, policy, email, audit, or denial that matters?', 'two-identities-anonymous' ),
		'support'                        => __( 'What public work does support fund without turning readers into data?', 'two-identities-anonymous' ),
		'newsletter'                     => __( 'What changed, what record matters, and what can readers do next without being tracked?', 'two-identities-anonymous' ),
		'volunteer'                      => __( 'Which task helps the public record without targeting private people?', 'two-identities-anonymous' ),
		'corrections-and-right-of-reply' => __( 'What exact claim should change, what evidence changes it, and who needs the repair?', 'two-identities-anonymous' ),
		'about'                          => __( 'What is 2IA accountable for, and what authority does it refuse to pretend it has?', 'two-identities-anonymous' ),
		'lexicon'                        => __( 'Which 2IA meaning are you seeing, and how can the domain be verified before you trust it?', 'two-identities-anonymous' ),
	);

	$payload = $routes[ $route_slug ] ?? array(
		'label'     => __( 'Public-interest route', 'two-identities-anonymous' ),
		'line'      => __( 'Power becomes easier to challenge when the page names the system, the record, the harmed public, and the next public move.', 'two-identities-anonymous' ),
		'stakes'    => __( 'This page matters because vague concern does not move institutions. Specific records, correction paths, appeal routes, and public questions do.', 'two-identities-anonymous' ),
		'send_when' => array (
			__( 'Someone needs a public-interest route instead of abstract frustration.', 'two-identities-anonymous' ),
			__( 'A conversation needs records, not vibes.', 'two-identities-anonymous' ),
			__( 'A reader needs a concrete public move that keeps pressure on institutions.', 'two-identities-anonymous' ),
		),
		'records'   => array (
			__( 'Contract, policy, data source, audit log, complaint record, denial letter, correction path, or appeal rule.', 'two-identities-anonymous' ),
			__( 'Evidence class, confidence label, public-interest question, and missing record.', 'two-identities-anonymous' ),
		),
		'demand'    => __( 'Demand the document, name the office, label the uncertainty, and keep private people out of unnecessary exposure.', 'two-identities-anonymous' ),
	);
	$payload['question'] = $route_questions[ $route_slug ] ?? sprintf(
		/* translators: %s: route title. */
		__( 'What record would make %s answerable instead of vague?', 'two-identities-anonymous' ),
		$title ? $title : __( 'this claim', 'two-identities-anonymous' )
	);

	if ( is_array( $section ) && ! empty( $section ) ) {
		$section_title = isset( $section['title'] ) ? wp_strip_all_tags( $section['title'] ) : $title;
		$parent_title  = isset( $page['parent_page']['title'] ) ? wp_strip_all_tags( $page['parent_page']['title'] ) : $title;
		$evidence      = twoia_virtual_text_items( $dossier['evidence'] ?? array() );
		$failure       = twoia_get_virtual_dossier_failure_brief(
			$page,
			$section,
			$dossier,
			! empty( $evidence ) ? $evidence[0] : __( 'A public record, policy, contract, source note, correction log, or decision trail that can be checked later.', 'two-identities-anonymous' )
		);

		$payload['label'] = sprintf(
			/* translators: %s: parent route label. */
			__( '%s dossier argument', 'two-identities-anonymous' ),
			$payload['label']
		);
		$payload['line'] = sprintf(
			/* translators: %s: detail page title. */
			__( '%s turns a broad civil-liberties concern into a specific power question: who benefits, who is harmed, what record proves it, and what repair is owed.', 'two-identities-anonymous' ),
			$section_title
		);
		$payload['question'] = sprintf(
			/* translators: 1: detail page title, 2: parent route title. */
			__( 'What record proves who controls %1$s inside %2$s, who is harmed by mistakes, and what repair is owed?', 'two-identities-anonymous' ),
			$section_title,
			$parent_title ? $parent_title : $title
		);
		$payload['stakes'] = $failure['broken'];
		$payload['records'] = array_values(
			array_filter(
				array_merge(
					array( $failure['document'] ),
					array_slice( $evidence, 0, 2 )
				)
			)
		);
		$payload['demand'] = $failure['action'];
	}

	$payload['url']  = $url;
	$payload['copy'] = implode(
		"\n\n",
		array_filter(
			array(
				$payload['line'],
				$payload['stakes'],
				sprintf(
					/* translators: %s: accountability ask text. */
					__( 'Ask for: %s', 'two-identities-anonymous' ),
					$payload['demand']
				),
				$url,
			)
		)
	);

	return $payload;
}

/**
 * Return a compact social description for virtual route metadata.
 *
 * @param array $page Virtual page definition.
 * @return string
 */
function twoia_get_virtual_social_description( $page ) {
	$payload = twoia_get_virtual_share_payload( $page );

	return wp_trim_words( wp_strip_all_tags( $payload['line'] . ' ' . $payload['demand'] ), 36, '...' );
}