import type { CapabilityClusterContent, CtaLink, HeroContent, IntegrationEntry, OutcomeSectionContent, PageSeo, ProgressTeaserContent, TrustSignalGroupContent, } from '@/types/site'; export const homeSeo: PageSeo = { title: 'TenantAtlas | Governance of record for Microsoft tenant operations', description: 'TenantAtlas helps teams understand Microsoft tenant change history, restore posture, trust boundaries, and the next evaluation step without a bloated public sitemap.', path: '/', }; export const homeHero: HeroContent = { eyebrow: 'Microsoft tenant governance', title: 'TenantAtlas gives Microsoft tenant teams one operating record for change history, drift review, and restore planning.', description: 'Security, endpoint, and platform teams use TenantAtlas to see what changed, preview restores, and move reviews forward without stitching governance across exports and memory.', primaryCta: { href: '/contact', label: 'Request a working session', }, secondaryCta: { href: '/product', label: 'See the product model', variant: 'secondary', }, productVisual: { src: '/images/hero-product-visual.svg', alt: 'TenantAtlas screen showing change history, restore preview, and a review queue for Microsoft tenant policies', }, trustSubclaims: [ 'Tenant-scoped boundaries', 'Reviewable change history', 'Preview before restore', ], }; export const homeOutcome: OutcomeSectionContent = { title: 'Calmer operations start with visible governance.', description: 'TenantAtlas replaces fragmented spreadsheets and manual audit trails with one connected record of tenant change, restore safety, and review context.', audienceBias: 'MSP and enterprise operations teams', outcomes: [ { title: 'Understand what changed and why it matters.', description: 'Immutable version history gives every tenant configuration a traceable timeline, so drift and unexpected changes surface before they become incidents.', }, { title: 'Restore with confidence, not guesswork.', description: 'Preview-first restore flows validate scope and impact before execution, turning risky rollbacks into reviewable operations.', }, { title: 'Reduce the operational risk of governance gaps.', description: 'Connected findings, evidence, and review workflows keep audit context in one place instead of scattered across tools and memory.', }, ], }; export const homeCapabilities: CapabilityClusterContent[] = [ { title: 'Backup & Version History', description: 'Immutable snapshots of tenant configuration state with full version lineage.', capabilities: ['Automated backup', 'Immutable snapshots', 'Version comparison', 'Change timeline'], href: '/product', meta: 'Core safety net', }, { title: 'Restore & Recovery', description: 'Preview-first restore with selective scope and explicit confirmation.', capabilities: ['Dry-run preview', 'Selective restore', 'Rollback safety', 'Conflict detection'], href: '/product', meta: 'Safer change operations', }, { title: 'Inventory & Drift Visibility', description: 'Connected view of what exists, what drifted, and what needs attention.', capabilities: ['Policy inventory', 'Drift detection', 'Assignment visibility', 'Cross-tenant comparison'], href: '/product', meta: 'Operational clarity', }, { title: 'Governance & Evidence', description: 'Audit-ready evidence, findings, and review workflows for tenant operations.', capabilities: ['Audit trails', 'Evidence linkage', 'Exception tracking', 'Review workflows'], href: '/product', meta: 'Accountability and review', }, ]; export const homeTrustSignals: TrustSignalGroupContent = { title: 'Trust is a first-read concern, not a footnote.', description: 'Tenant isolation, access boundaries, and operating discipline are product rules, not marketing language. Every public claim routes back to one bounded trust surface.', supportRoute: '/trust', signals: [ { title: 'Tenant isolation is a product boundary.', description: 'Tenant-scoped data, access, and workflow boundaries are enforced as deliberate product rules.', }, { title: 'Access stays bounded and purpose-specific.', description: 'Microsoft tenant-facing access follows least-privilege scoping tied to the governance operations that require it.', }, { title: 'Restore operations require preview and confirmation.', description: 'High-risk changes go through validation, selective scope, and explicit confirmation instead of one-click execution.', }, ], }; export const homeProgressTeaser: ProgressTeaserContent = { title: 'Product movement you can verify.', description: 'Real progress shows up as dated changelog entries, not vague promises. Check the changelog for the latest updates.', entries: [], cta: { href: '/changelog', label: 'Read the full changelog', }, }; export const homeCtaSection = { eyebrow: 'Next step', title: 'Move from first read into a working session.', description: 'Once you understand the product model, the trust posture, and the progress record, the next step is a conversation about your governance reality.', primary: { href: '/contact', label: 'Request a working session', } as CtaLink, secondary: { href: '/product', label: 'See the product model', variant: 'secondary', } as CtaLink, }; export const homeEcosystem: IntegrationEntry[] = [ { category: 'Microsoft', name: 'Microsoft Graph', summary: 'Graph-backed inventory and restore without implying the public website depends on live tenant access.', }, { category: 'Identity', name: 'Entra ID', summary: 'Identity context where change control, tenant access, and review posture intersect.', }, { category: 'Endpoint', name: 'Intune', summary: 'Configuration state, backup, restore posture, and drift visibility stay central to the product story.', }, { category: 'Governance', name: 'Review workflows', summary: 'Exceptions, evidence, and reviews stay connected to operational reality.', }, ];