Virtual Pages - Source Excerpt 43
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
<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-latest-research-title">
<header class="section-header">
<p class="eyebrow"><?php esc_html_e( 'Latest research', 'two-identities-anonymous' ); ?></p>
<h2 id="twoia-latest-research-title"><?php esc_html_e( 'Published research', 'two-identities-anonymous' ); ?></h2>
<p><?php esc_html_e( 'Each published card gives the title, date, format, issue tags, confidence status, and correction context available for that article.', 'two-identities-anonymous' ); ?></p>
</header>
<?php if ( $recent_posts ) : ?>
<div class="grid grid--cards">
<?php
foreach ( $recent_posts as $post ) :
setup_postdata( $post );
get_template_part( 'template-parts/content', 'card' );
endforeach;
wp_reset_postdata();
?>
</div>
<?php else : ?>
<?php
twoia_render_ia_cards(
array(
array( 'title' => __( 'No published briefings yet', 'two-identities-anonymous' ), 'body' => __( 'The issue map, source-class guide, system-failure cards, and practical packets below are ready while full articles move through review.', 'two-identities-anonymous' ) ),
)
);
?>
<?php endif; ?>
</section>
<?php twoia_render_source_class_matrix(); ?>
<?php twoia_render_issue_hub_blueprints(); ?>
<?php twoia_render_archive_toolkits_and_planning(); ?>
<section class="section section--compact twoia-page-cta" aria-labelledby="twoia-research-corrections-title">
<h2 id="twoia-research-corrections-title"><?php esc_html_e( 'Corrections and right of reply are part of the research system', 'two-identities-anonymous' ); ?></h2>
<p><?php esc_html_e( 'Material claims remain challengeable. Corrections cover factual error, missing context, attribution problems, stale sources, privacy exposure, or a reply that changes the public record.', 'two-identities-anonymous' ); ?></p>
<p><a class="button button--primary" href="<?php echo esc_url( home_url( '/corrections-and-right-of-reply/' ) ); ?>"><?php esc_html_e( 'Read Corrections and Right of Reply', 'two-identities-anonymous' ); ?></a> <a class="button button--secondary" href="<?php echo esc_url( home_url( '/newsletter/' ) ); ?>"><?php esc_html_e( 'Follow without tracking bloat', 'two-identities-anonymous' ); ?></a></p>
<p class="metadata-label"><?php esc_html_e( 'Legacy research links still work: older /research-archive/ links now open the canonical /research/ index or the preserved dossier page.', 'two-identities-anonymous' ); ?></p>
</section>
<?php
}
/**
* Render the Resources page.
*/
function twoia_render_resources_portal() {
?>
<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-resources-actions-title">
<header class="section-header">
<p class="eyebrow"><?php esc_html_e( 'Practical resources', 'two-identities-anonymous' ); ?></p>
<h2 id="twoia-resources-actions-title"><?php esc_html_e( 'Do something useful with the record in front of you', 'two-identities-anonymous' ); ?></h2>
<p><?php esc_html_e( 'Resources are practical, lawful, freedom-forward tools for public-interest research: records requests, copy-ready templates, checklists, OSINT basics, glossary language, and defensive privacy habits.', 'two-identities-anonymous' ); ?></p>
</header>
<?php
twoia_render_ia_cards(
array(
array( 'title' => __( 'Start a public records request', 'two-identities-anonymous' ), 'body' => __( 'Ask for the contract, policy, budget, audit, retention schedule, training material, complaint log, appeal letter, or correction record.', 'two-identities-anonymous' ), 'url' => home_url( '/public-records-and-foia/' ) ),
array( 'title' => __( 'Browse the glossary', 'two-identities-anonymous' ), 'body' => __( 'Define selectors, metadata, OSINT, SIGINT, provenance, confidence, minimization, right of reply, and domain-spoofing risks.', 'two-identities-anonymous' ), 'url' => home_url( '/lexicon/' ) ),
array( 'title' => __( 'Read the research standards', 'two-identities-anonymous' ), 'body' => __( 'Use the evidence ladder, confidence labels, source classes, AI disclosure, corrections, and minimization posture.', 'two-identities-anonymous' ), 'url' => home_url( '/methodology/' ) ),
array( 'title' => __( 'Use copy-ready templates', 'two-identities-anonymous' ), 'body' => __( 'Start with narrowly framed requests, correction notes, appeal language, vendor-claim questions, and public-comment prompts.', 'two-identities-anonymous' ) ),
array( 'title' => __( 'Understand surveillance terms', 'two-identities-anonymous' ), 'body' => __( 'Translate vague claims into concrete questions about data sources, retention, access, audit, deletion, sharing, and human review.', 'two-identities-anonymous' ), 'url' => home_url( '/issues/' ) ),
array( 'title' => __( 'Find organizations', 'two-identities-anonymous' ), 'body' => __( 'Match the problem to the role: litigation, policy, local coalition, records platform, digital-rights guide, investigative lab, or historical context.', 'two-identities-anonymous' ), 'url' => home_url( '/organizations/' ) ),
array( 'title' => __( 'Learn OSINT basics', 'two-identities-anonymous' ), 'body' => __( 'Use public information with purpose, source context, minimization, corroboration, redaction, confidence labels, and correction.', 'two-identities-anonymous' ), 'url' => home_url( '/open-source-intelligence/' ) ),
array( 'title' => __( 'Understand domain and identity threats', 'two-identities-anonymous' ), 'body' => __( 'Check official domains, punycode, homoglyphs, redirects, copied wordmarks, and contact-route authenticity before trusting a page.', 'two-identities-anonymous' ), 'url' => home_url( '/lexicon/' ) ),
),
'twoia-resource-actions'
);
?>
</section>
<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-glossary-module-title">
<header class="section-header">
<p class="eyebrow"><?php esc_html_e( 'Glossary module', 'two-identities-anonymous' ); ?></p>
<h2 id="twoia-glossary-module-title"><?php esc_html_e( 'Terms that turn vague concern into a sharper request', 'two-identities-anonymous' ); ?></h2>
<p><?php esc_html_e( 'Use these short definitions to name the system, ask for the right records, and keep OSINT work analytical instead of invasive.', 'two-identities-anonymous' ); ?></p>
</header>
<?php
twoia_render_ia_cards(
array(
array( 'title' => __( 'Selector', 'two-identities-anonymous' ), 'body' => __( 'A name, account, device, number, location, term, or other handle used to find or filter records. Ask who chose it, what rule governs it, and when it expires.', 'two-identities-anonymous' ) ),
array( 'title' => __( 'Metadata', 'two-identities-anonymous' ), 'body' => __( 'The records around content: time, place, device, account, routing, relationship, payment, or access. It can identify a life without exposing the message body.', 'two-identities-anonymous' ) ),
array( 'title' => __( 'Provenance', 'two-identities-anonymous' ), 'body' => __( 'Where a claim or file came from, how it moved, what changed, and what record would let a reader check it.', 'two-identities-anonymous' ) ),
array( 'title' => __( 'Confidence label', 'two-identities-anonymous' ), 'body' => __( 'A public signal that separates confirmed, corroborated, likely, inferred, disputed, stale, unknown, and unverified claims.', 'two-identities-anonymous' ) ),
array( 'title' => __( 'Minimization', 'two-identities-anonymous' ), 'body' => __( 'Publishing only the detail needed for public accountability while withholding unrelated private-person data, bystander exposure, and operational harm detail.', 'two-identities-anonymous' ) ),
array( 'title' => __( 'OSINT', 'two-identities-anonymous' ), 'body' => __( 'Open-source intelligence: lawful public-source research with source notes, purpose, corroboration, minimization, and correction paths.', 'two-identities-anonymous' ) ),
array( 'title' => __( 'SIGINT', 'two-identities-anonymous' ), 'body' => __( 'Signals intelligence, discussed here at the level of law, infrastructure, history, oversight, and civil-liberties impact rather than interception instructions.', 'two-identities-anonymous' ) ),
array( 'title' => __( 'Right of reply', 'two-identities-anonymous' ), 'body' => __( 'A route for a materially named institution or person to add evidence, dispute a claim, correct context, or sharpen the record without gaining a veto.', 'two-identities-anonymous' ) ),
)
);
?>
</section>