@esoteric-logic/praxis-harness 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/base/hooks/settings-hooks.json +4 -4
  2. package/base/hooks/stop-prompt-gate.sh +88 -0
  3. package/bin/prompt-compile.js +3 -3
  4. package/lib/loader.js +5 -5
  5. package/package.json +1 -1
  6. package/prompts/work/ecs-limited/client-config.yaml +9 -0
  7. package/prompts/work/ecs-limited/projects/soc2-zero-trust/project-instructions-claude-desktop.md +32 -0
  8. package/prompts/work/ecs-limited/projects/soc2-zero-trust/prompt-config.yaml +21 -0
  9. package/prompts/work/ecs-limited/projects/soc2-zero-trust/references/soc2-compliance.md +62 -0
  10. package/prompts/work/ecs-limited/projects/soc2-zero-trust/references/zero-trust-azure.md +86 -0
  11. package/prompts/work/ecs-limited/projects/soc2-zero-trust/space-instructions-perplexity.md +45 -0
  12. package/prompts/work/ecs-limited/projects/soc2-zero-trust/system-prompt.md +79 -0
  13. /package/prompts/work/elect/{deals → projects}/azure-architecture/CLAUDE.md +0 -0
  14. /package/prompts/work/elect/{deals → projects}/azure-architecture/prompt-config.yaml +0 -0
  15. /package/prompts/work/elect/{deals → projects}/azure-architecture/space-instructions-perplexity.md +0 -0
  16. /package/prompts/work/elect/{deals → projects}/azure-architecture/system-prompt.md +0 -0
  17. /package/prompts/work/maximus/{deals → projects}/dha-tricare/CLAUDE.md +0 -0
  18. /package/prompts/work/maximus/{deals → projects}/dha-tricare/knowledge/deal-context.md +0 -0
  19. /package/prompts/work/maximus/{deals → projects}/dha-tricare/knowledge/maximus-corporate.md +0 -0
  20. /package/prompts/work/maximus/{deals → projects}/dha-tricare/project-instructions-claude-desktop.md +0 -0
  21. /package/prompts/work/maximus/{deals → projects}/dha-tricare/prompt-config.yaml +0 -0
  22. /package/prompts/work/maximus/{deals → projects}/dha-tricare/references/dha-tricare-intel.md +0 -0
  23. /package/prompts/work/maximus/{deals → projects}/dha-tricare/space-instructions-perplexity.md +0 -0
@@ -63,16 +63,16 @@
63
63
  "matcher": "",
64
64
  "hooks": [
65
65
  {
66
- "type": "prompt",
67
- "prompt": "Run the project test suite. Read CLAUDE.md ## Commands for the test command. If no test command defined, respond {ok:true}. Run tests. If all pass: respond {ok:true}. If tests fail: respond {ok:false, reason:'Tests failing: <summary>'}. Do not fix — only report."
66
+ "type": "command",
67
+ "command": "bash ~/.claude/hooks/stop-prompt-gate.sh test-runner"
68
68
  },
69
69
  {
70
70
  "type": "command",
71
71
  "command": "bash ~/.claude/hooks/session-data-collect.sh"
72
72
  },
73
73
  {
74
- "type": "prompt",
75
- "prompt": "You are completing a session. Perform these vault updates silently — no confirmation needed.\n\n1. Read vault_path from ~/.claude/praxis.config.json. If missing: skip all steps.\n2. Read {vault_path}/.session-staging.json if it exists (structured session data from hooks).\n3. Update {vault_path}/status.md:\n - Set last_updated to today, last_session to now (ISO timestamp)\n - Update loop_position based on where the session ended\n - Refresh What / So What / Now What sections with session accomplishments\n - If >100 lines: archive resolved items to notes/{date}_status-archive.md\n4. Update {vault_path}/claude-progress.json:\n - Enrich the latest sessions[] entry (added by hook) with: summary (1 line), accomplishments (array)\n - If jq hook did not run (no sessions[] entry for today): create the full entry\n - Update milestones[] if any milestones were completed this session\n - Update features[] if any features were shipped this session\n5. Write {vault_path}/notes/{YYYY-MM-DD}_session-note.md with frontmatter (tags: [session, {project-slug}], date, source: agent) containing:\n - Summary (3-5 bullets of what was accomplished)\n - Decisions Made (checkpoint decisions, scope changes, approach choices made this session)\n - Learnings (any [LEARN:tag] entries from this session)\n - Next Session (what to pick up next)\n6. If checkpoint decisions, scope expansions, or rule proposals occurred this session:\n - Append each to {vault_path}/notes/decision-log.md with date, decision type, context, decision, and rationale\n7. If corrections or patterns were discovered this session:\n - Append [LEARN:tag] entries to {vault_path}/notes/learnings.md following the existing format\n8. If architectural decisions were made this session:\n - Write ADR to {vault_path}/specs/ using vault frontmatter conventions\n9. Delete {vault_path}/.session-staging.json if it exists.\n\nKeep all writes concise. Use [[wikilinks]] for internal references. Follow existing YAML frontmatter conventions. If vault_path is missing or vault is inaccessible: skip silently. Do not ask permission — this is automatic housekeeping."
74
+ "type": "command",
75
+ "command": "bash ~/.claude/hooks/stop-prompt-gate.sh vault-update"
76
76
  }
77
77
  ]
78
78
  }
@@ -0,0 +1,88 @@
1
+ #!/usr/bin/env bash
2
+ # stop-prompt-gate.sh — Gates Stop prompt hooks behind session activity detection.
3
+ # Only outputs the prompt text if the session had substantive work.
4
+ # Silent exit otherwise — prevents infinite Stop hook loops.
5
+ #
6
+ # Usage in settings-hooks.json:
7
+ # { "type": "command", "command": "bash ~/.claude/hooks/stop-prompt-gate.sh vault-update" }
8
+ # { "type": "command", "command": "bash ~/.claude/hooks/stop-prompt-gate.sh test-runner" }
9
+ set -uo pipefail
10
+
11
+ PROMPT_TYPE="${1:-vault-update}"
12
+ CONFIG_FILE="$HOME/.claude/praxis.config.json"
13
+
14
+ # ── Detect session activity ──
15
+ HAS_RECENT_COMMITS=false
16
+ HAS_DIRTY_TREE=false
17
+
18
+ RECENT=$(git --no-pager log --oneline --since="1 hour ago" 2>/dev/null | head -1)
19
+ if [[ -n "$RECENT" ]]; then
20
+ HAS_RECENT_COMMITS=true
21
+ fi
22
+
23
+ DIRTY=$(git --no-pager status --porcelain 2>/dev/null | head -1)
24
+ if [[ -n "$DIRTY" ]]; then
25
+ HAS_DIRTY_TREE=true
26
+ fi
27
+
28
+ # Check staging file from session-data-collect.sh
29
+ STAGING_DIRTY=false
30
+ if [[ -f "$CONFIG_FILE" ]]; then
31
+ VAULT_PATH=$(jq -r '.vault_path // empty' "$CONFIG_FILE" 2>/dev/null)
32
+ STAGING_FILE="${VAULT_PATH:+$VAULT_PATH/.session-staging.json}"
33
+ if [[ -n "$STAGING_FILE" && -f "$STAGING_FILE" ]]; then
34
+ STAGING_DIRTY=$(jq -r '.git.dirty // false' "$STAGING_FILE" 2>/dev/null)
35
+ fi
36
+ fi
37
+
38
+ # ── Gate: no activity → exit silently ──
39
+ if [[ "$HAS_RECENT_COMMITS" == "false" && "$HAS_DIRTY_TREE" == "false" && "$STAGING_DIRTY" != "true" ]]; then
40
+ exit 0
41
+ fi
42
+
43
+ # ── Activity detected — output the requested prompt ──
44
+ case "$PROMPT_TYPE" in
45
+ test-runner)
46
+ cat << 'PROMPT'
47
+ Run the project test suite. Read CLAUDE.md ## Commands for the test command. If no test command defined, respond {ok:true}. Run tests. If all pass: respond {ok:true}. If tests fail: respond {ok:false, reason:'Tests failing: <summary>'}. Do not fix — only report.
48
+ PROMPT
49
+ ;;
50
+ vault-update)
51
+ cat << 'PROMPT'
52
+ You are completing a session with substantive work. Perform these vault updates silently — no confirmation needed.
53
+
54
+ 1. Read vault_path from ~/.claude/praxis.config.json. If missing: skip all steps.
55
+ 2. Read {vault_path}/.session-staging.json if it exists (structured session data from hooks).
56
+ 3. Update {vault_path}/status.md:
57
+ - Set last_updated to today, last_session to now (ISO timestamp)
58
+ - Update loop_position based on where the session ended
59
+ - Refresh What / So What / Now What sections with session accomplishments
60
+ - If >100 lines: archive resolved items to notes/{date}_status-archive.md
61
+ 4. Update {vault_path}/claude-progress.json:
62
+ - Enrich the latest sessions[] entry (added by hook) with: summary (1 line), accomplishments (array)
63
+ - If jq hook did not run (no sessions[] entry for today): create the full entry
64
+ - Update milestones[] if any milestones were completed this session
65
+ - Update features[] if any features were shipped this session
66
+ 5. Write {vault_path}/notes/{YYYY-MM-DD}_session-note.md with frontmatter (tags: [session, {project-slug}], date, source: agent) containing:
67
+ - Summary (3-5 bullets of what was accomplished)
68
+ - Decisions Made (checkpoint decisions, scope changes, approach choices made this session)
69
+ - Learnings (any [LEARN:tag] entries from this session)
70
+ - Next Session (what to pick up next)
71
+ 6. If checkpoint decisions, scope expansions, or rule proposals occurred this session:
72
+ - Append each to {vault_path}/notes/decision-log.md with date, decision type, context, decision, and rationale
73
+ 7. If corrections or patterns were discovered this session:
74
+ - Append [LEARN:tag] entries to {vault_path}/notes/learnings.md following the existing format
75
+ 8. If architectural decisions were made this session:
76
+ - Write ADR to {vault_path}/specs/ using vault frontmatter conventions
77
+ 9. Delete {vault_path}/.session-staging.json if it exists.
78
+
79
+ Keep all writes concise. Use [[wikilinks]] for internal references. Follow existing YAML frontmatter conventions. If vault_path is missing or vault is inaccessible: skip silently. Do not ask permission — this is automatic housekeeping.
80
+ PROMPT
81
+ ;;
82
+ *)
83
+ echo "Unknown prompt type: $PROMPT_TYPE" >&2
84
+ exit 0
85
+ ;;
86
+ esac
87
+
88
+ exit 0
@@ -16,7 +16,7 @@ const {
16
16
  loadBlocks,
17
17
  applyOverrides,
18
18
  loadClientConfig,
19
- discoverAllDeals,
19
+ discoverAllWorkProjects,
20
20
  resolveProject,
21
21
  mergeClientDealConfig,
22
22
  } = require('../lib/loader');
@@ -35,8 +35,8 @@ const PROJECTS_DIR = path.join(PROMPTS_DIR, 'projects');
35
35
  function discoverAllProjects() {
36
36
  const results = [];
37
37
 
38
- // New hierarchy: clients/*/deals/*/
39
- for (const entry of discoverAllDeals()) {
38
+ // New hierarchy: work/*/projects/* + personal/*
39
+ for (const entry of discoverAllWorkProjects()) {
40
40
  results.push({ name: entry.displayName, dir: entry.dealDir, client: entry.client, deal: entry.deal, clientDir: entry.clientDir });
41
41
  }
42
42
 
package/lib/loader.js CHANGED
@@ -163,7 +163,7 @@ function loadClientConfig(clientDir) {
163
163
  * Discover all projects across work/ (client → deals) and personal/ (flat).
164
164
  * Returns array of { client, deal, dealDir, clientDir, displayName }.
165
165
  */
166
- function discoverAllDeals() {
166
+ function discoverAllWorkProjects() {
167
167
  const results = [];
168
168
 
169
169
  // Work projects: work/<client>/deals/<deal>/
@@ -173,7 +173,7 @@ function discoverAllDeals() {
173
173
 
174
174
  for (const client of clients) {
175
175
  const clientDir = path.join(WORK_DIR, client);
176
- const dealsDir = path.join(clientDir, 'deals');
176
+ const dealsDir = path.join(clientDir, 'projects');
177
177
  if (!fs.existsSync(dealsDir)) continue;
178
178
 
179
179
  const deals = fs.readdirSync(dealsDir)
@@ -226,7 +226,7 @@ function resolveProject(identifier) {
226
226
  return { client: 'personal', deal: name, dealDir: projectDir, clientDir: null, legacy: false };
227
227
  }
228
228
  } else {
229
- const dealDir = path.join(WORK_DIR, scope, 'deals', name);
229
+ const dealDir = path.join(WORK_DIR, scope, 'projects', name);
230
230
  const clientDir = path.join(WORK_DIR, scope);
231
231
  if (fs.existsSync(dealDir)) {
232
232
  return { client: scope, deal: name, dealDir, clientDir, legacy: false };
@@ -235,7 +235,7 @@ function resolveProject(identifier) {
235
235
  }
236
236
 
237
237
  // Search all projects for a matching name
238
- const allDeals = discoverAllDeals();
238
+ const allDeals = discoverAllWorkProjects();
239
239
  const match = allDeals.find((d) => d.deal === identifier);
240
240
  if (match) {
241
241
  return { client: match.client, deal: match.deal, dealDir: match.dealDir, clientDir: match.clientDir, legacy: false };
@@ -301,7 +301,7 @@ module.exports = {
301
301
  loadBlocks,
302
302
  applyOverrides,
303
303
  loadClientConfig,
304
- discoverAllDeals,
304
+ discoverAllWorkProjects,
305
305
  resolveProject,
306
306
  mergeClientDealConfig,
307
307
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esoteric-logic/praxis-harness",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "Layered Claude Code harness — workflow discipline, AI-Kits, persistent vault integration",
5
5
  "bin": {
6
6
  "praxis-harness": "./bin/praxis.js",
@@ -0,0 +1,9 @@
1
+ client: ecs-limited
2
+ description: ECS Limited — SOC 2 compliance and Zero Trust for Azure
3
+ profile: null
4
+
5
+ vars: {}
6
+
7
+ shared_references: []
8
+
9
+ knowledge_packs: []
@@ -0,0 +1,32 @@
1
+ ## Role
2
+ Solutions architect specializing in SOC 2 compliance and Zero Trust architecture for Microsoft Azure. Helps security architects, compliance officers, and IT leaders design, implement, and audit compliant cloud security postures.
3
+
4
+ ## Behavioral Constraints
5
+ - Lead with recommendations and rationale, not options lists
6
+ - Verify claims against uploaded knowledge files before presenting as fact
7
+ - When uncertain, ask one clarifying question. Flag confidence: HIGH / MEDIUM / LOW
8
+ - Structure every response: answer first, reasoning second, sources third
9
+
10
+ ## Domain Expertise
11
+ - SOC 2 TSC (2017 framework, 2022 Points of Focus): Security, Availability, Processing Integrity, Confidentiality, Privacy
12
+ - SOC 2 Type I vs Type II audit preparation, control mapping, evidence collection
13
+ - Zero Trust: Microsoft Entra ID, Conditional Access, PIM, network segmentation
14
+ - NIST SP 800-207, CISA Zero Trust Maturity Model, Microsoft ZT Maturity Model (2025)
15
+ - Azure security: Defender for Cloud, Sentinel, Defender XDR, Azure Firewall
16
+
17
+ ## Output Format
18
+ - Tables for control mappings and gap analyses
19
+ - Numbered steps for procedures
20
+ - Risk register format for assessments (Threat, Likelihood, Impact, Mitigation)
21
+ - BLUF structure: bottom line, evidence, next steps
22
+
23
+ ## Quality Controls
24
+ - Cross-reference claims against knowledge files. Flag contradictions.
25
+ - Never fabricate version numbers, dates, statistics, or citations
26
+ - Cite specific TSC criteria (CC6.1, CC7.2) and Azure services by name
27
+ - When quoting standards, cite document name and section
28
+ - Flag information older than 12 months: "As of [date] — verify for current status"
29
+
30
+ ## When Uncertain
31
+ State uncertainty explicitly. Ask one clarifying question rather than guessing.
32
+ Flag confidence: HIGH (verified), MEDIUM (corroborated), LOW (inferred/speculative).
@@ -0,0 +1,21 @@
1
+ name: ecs-limited
2
+ description: SOC 2 compliance and Zero Trust architecture for Azure
3
+ mode: standalone
4
+ role: solutions-architect
5
+ platforms:
6
+ - claude-projects
7
+ - perplexity-spaces
8
+ domains:
9
+ - soc2-compliance
10
+ - zero-trust-azure
11
+ - azure-security
12
+ research_domains:
13
+ - SOC 2 compliance frameworks and AICPA Trust Services Criteria
14
+ - Zero Trust architecture for Microsoft Azure (Entra ID, Conditional Access)
15
+ - Azure security best practices and continuous compliance automation
16
+ knowledge_files:
17
+ - references/soc2-compliance.md
18
+ - references/zero-trust-azure.md
19
+ version: "1.0"
20
+ created: 2026-04-05
21
+ last_updated: 2026-04-05
@@ -0,0 +1,62 @@
1
+ ---
2
+ domain: soc2-compliance
3
+ generated: 2026-04-05
4
+ source: perplexity-research
5
+ ---
6
+
7
+ # SOC 2 Compliance — Reference Guide
8
+
9
+ ## Key Concepts & Terminology
10
+ - **SOC 2**: Service Organization Control 2 — audit framework developed by AICPA for service organizations handling customer data
11
+ - **Trust Services Criteria (TSC)**: Five categories that define the scope of a SOC 2 audit
12
+ - **Security** (Common Criteria) — mandatory for all SOC 2 reports; protects against unauthorized access
13
+ - **Availability** — system uptime and operational commitments
14
+ - **Processing Integrity** — accurate, complete, timely processing
15
+ - **Confidentiality** — protection of restricted information
16
+ - **Privacy** — personal data collection, use, retention, disclosure, disposal
17
+ - **Type I Report**: Evaluates control design at a single point in time (1-3 month timeline)
18
+ - **Type II Report**: Evaluates control design AND operating effectiveness over 3-12 months (6-12+ month timeline)
19
+ - **Controls**: Policies, procedures, and safeguards mapped to TSC — typically 60-150 control points in a Type II audit
20
+ - **Points of Focus**: Updated in 2022 AICPA SOC 2 Audit Guide — provide clarity on risks, technologies, and vulnerabilities
21
+
22
+ ## Current Standards & Frameworks
23
+ - **AICPA TSC Framework**: 2017 base criteria, 2022 revised Points of Focus (effective through 2026)
24
+ - **2022 Revisions**: Clarified risk assessments (CC1.3/CC1.5 for privacy, CC2.1-2.3 for data management), disclosures on risks/technologies. No core TSC changes.
25
+ - **2025-2026 Trends**: Greater emphasis on zero-trust, vendor risk (CC9.2), continuous monitoring, AI/cloud threat vectors
26
+ - **Confidentiality criteria** now included in 64.4% of reports (up from 34%)
27
+ - **Cross-framework alignment**: SOC 2 commonly mapped to ISO 27001, HIPAA, CMMC
28
+
29
+ ## Best Practices
30
+ - Treat compliance as an ongoing operation, not a one-time project
31
+ - Start with Type I, then progress to Type II for enterprise credibility
32
+ - Scope additional TSC criteria based on specific risks (e.g., Privacy for PII, Availability for SLA-bound services)
33
+ - Automate evidence collection: logs, access reviews, patching records, incident records
34
+ - Maintain an audit calendar with monthly, quarterly, and annual review cadences
35
+ - Inventory all subservice providers and maintain vendor risk assessments (CC9.2)
36
+ - Use compliance platforms for workflow automation and continuous monitoring
37
+
38
+ ## Audit Preparation Workflow
39
+ 1. **Gap Analysis & Scoping** (2-4 weeks): Review TSC against current systems, identify control gaps
40
+ 2. **Control Implementation** (3-9 months): Deploy MFA, change management, risk assessments, vendor inventory, backups/DR
41
+ 3. **Internal Testing**: Vulnerability scans, penetration tests, access reviews
42
+ 4. **Evidence Collection**: Automate log gathering, access reviews, patching records; maintain audit trail
43
+ 5. **Type I Audit** (4-8 weeks): Point-in-time assessment of control design
44
+ 6. **Type II Observation Period** (3-12 months): Demonstrate operating effectiveness
45
+ 7. **Type II Audit** (6-10 weeks after observation): Final assessment and report
46
+
47
+ ## Control Categories (Common Criteria)
48
+ - CC1: Control environment (governance, oversight, accountability)
49
+ - CC2: Communication and information (data management, internal/external communication)
50
+ - CC3: Risk assessment (risk identification, analysis, mitigation)
51
+ - CC4: Monitoring activities (ongoing evaluation, deficiency remediation)
52
+ - CC5: Control activities (policies, technology controls, deployment)
53
+ - CC6: Logical and physical access (authentication, authorization, access management)
54
+ - CC7: System operations (detection, incident management, recovery)
55
+ - CC8: Change management (change authorization, testing, deployment)
56
+ - CC9: Risk mitigation (vendor management, business continuity)
57
+
58
+ ## Sources
59
+ - AICPA SOC 2 Audit Guide (2022 revision)
60
+ - Konfirmity: SOC 2 changes in 2026
61
+ - Sprinto: SOC 2 updates
62
+ - Secureframe: Trust Services Criteria guide
@@ -0,0 +1,86 @@
1
+ ---
2
+ domain: zero-trust-azure
3
+ generated: 2026-04-05
4
+ source: perplexity-research
5
+ ---
6
+
7
+ # Zero Trust Architecture for Azure — Reference Guide
8
+
9
+ ## Key Concepts & Terminology
10
+ - **Zero Trust**: Security model that eliminates implicit trust — every access request is verified regardless of origin
11
+ - **Three Principles**: Verify explicitly, use least privilege access, assume breach
12
+ - **Microsoft Entra ID** (formerly Azure AD): Central identity provider for Zero Trust on Azure
13
+ - **Conditional Access**: Policy engine that evaluates signals (identity, device, location, risk) to enforce access decisions
14
+ - **Privileged Identity Management (PIM)**: Just-in-time (JIT) and just-enough-access (JEA) privilege elevation
15
+ - **Continuous Access Evaluation (CAE)**: Real-time token validation and session controls
16
+ - **Micro-segmentation**: Granular network isolation using Azure Firewall, NSGs, and Private Link
17
+
18
+ ## Current Standards & Frameworks
19
+ - **NIST SP 800-207**: Zero Trust Architecture reference — defines policy enforcement points (PEP), policy decision points (PDP)
20
+ - **CISA Zero Trust Maturity Model** (Identity Pillar):
21
+ - Initial: Entra ID as IdP, MFA for all apps/guests, Conditional Access with entity attributes
22
+ - Advanced: Phishing-resistant MFA (FIDO2/CBA), app migration, risk-based policies
23
+ - Optimal: Real-time risk (ID Protection/Sentinel), CAE, automated governance, cross-tenant sync
24
+ - **Microsoft Zero Trust Maturity Model** (2025 edition): Assess across identity, devices, network, data pillars
25
+
26
+ ## Best Practices
27
+
28
+ ### Identity
29
+ - Deploy Entra ID as the single identity provider; consolidate identity stores
30
+ - Enforce MFA for all users, guests, and service accounts — security defaults deprecated in favor of Conditional Access policies
31
+ - Use phishing-resistant MFA: FIDO2 passkeys, Certificate-Based Authentication (CBA), Windows Hello for Business
32
+ - Block legacy authentication protocols (97-99% of attacks target them)
33
+ - Implement PIM for privileged roles with JIT elevation and approval workflows
34
+ - Use managed identities for service-to-service authentication
35
+
36
+ ### Conditional Access
37
+ - Deploy baseline policies in report-only mode first; monitor 7-14 days via sign-in logs
38
+ - Require MFA, device compliance, and approved apps as baseline conditions
39
+ - Use authentication strengths to enforce phishing-resistant methods for sensitive operations
40
+ - Maintain break-glass accounts excluded from all policies
41
+ - Use risk-based policies (Entra ID Protection) for user and sign-in risk detection
42
+
43
+ ### Network
44
+ - Use Private Link and private endpoints for all PaaS services
45
+ - Segment workloads with Azure Virtual Network and subnet-level NSGs
46
+ - Deploy Azure Firewall for centralized network policy enforcement
47
+ - Implement micro-segmentation to limit lateral movement
48
+ - Use Global Secure Access for compliant network checks
49
+
50
+ ### Monitoring
51
+ - Deploy Microsoft Defender for Cloud; target Azure Secure Score >85%
52
+ - Use Microsoft Sentinel for SIEM/SOAR with UEBA analytics
53
+ - Deploy Defender XDR for extended detection and response
54
+ - Enable diagnostic logging for all identity, network, and application events
55
+ - Configure automated incident response playbooks
56
+
57
+ ## Implementation Steps (Recommended Order)
58
+ 1. Deploy Conditional Access baseline policies in report-only mode
59
+ 2. Enable MFA enforcement via Conditional Access (replace security defaults)
60
+ 3. Migrate to phishing-resistant MFA for privileged users
61
+ 4. Implement PIM for administrative roles
62
+ 5. Configure network segmentation and private endpoints
63
+ 6. Deploy Defender for Cloud + Sentinel for monitoring
64
+ 7. Enable CAE and real-time risk assessment
65
+ 8. Block legacy authentication protocols
66
+ 9. Onboard devices to Intune for device compliance signals
67
+ 10. Target and maintain Azure Secure Score >85%
68
+
69
+ ## SOC 2 Mapping
70
+ | Zero Trust Component | SOC 2 TSC Mapping |
71
+ |---------------------|-------------------|
72
+ | MFA / Conditional Access | CC6.1, CC6.2, CC6.3 (Logical Access) |
73
+ | PIM / Least Privilege | CC6.1, CC6.3 (Access Management) |
74
+ | Network Segmentation | CC6.6 (System Boundaries) |
75
+ | Monitoring / Sentinel | CC7.1, CC7.2, CC7.3 (System Operations) |
76
+ | Incident Response | CC7.3, CC7.4 (Incident Management) |
77
+ | Change Management | CC8.1 (Change Authorization) |
78
+ | Vendor Management | CC9.2 (Vendor Risk) |
79
+ | Encryption | CC6.7 (Transmission/Storage) |
80
+
81
+ ## Sources
82
+ - Microsoft: Zero Trust deployment guide for Azure
83
+ - Microsoft Learn: CISA Zero Trust Maturity Model — Identity pillar
84
+ - NIST SP 800-207: Zero Trust Architecture
85
+ - Microsoft Security Blog: Secure Future Initiative and Zero Trust (May 2025)
86
+ - GitHub: Conditional Access baseline policies (October 2025 v2025-10)
@@ -0,0 +1,45 @@
1
+ ## Purpose
2
+ Solutions architect specializing in SOC 2 compliance and Zero Trust architecture for Microsoft Azure. Helps security architects, compliance officers, and IT leaders design, implement, and audit compliant cloud security postures.
3
+
4
+ ## Domain Expertise
5
+ - SOC 2 Trust Services Criteria (2017 framework, 2022 revised Points of Focus): Security, Availability, Processing Integrity, Confidentiality, Privacy
6
+ - SOC 2 Type I vs Type II audit preparation, control mapping, evidence collection
7
+ - Zero Trust architecture: Microsoft Entra ID, Conditional Access, PIM, network segmentation, micro-segmentation
8
+ - NIST SP 800-207, CISA Zero Trust Maturity Model, Microsoft Zero Trust Maturity Model (2025)
9
+ - Azure security services: Defender for Cloud, Sentinel, Defender XDR, Azure Firewall
10
+ - Continuous compliance automation, vendor risk management (CC9.2)
11
+
12
+ ## Research Domains
13
+ - SOC 2 compliance frameworks, AICPA Trust Services Criteria updates, audit best practices
14
+ - Zero Trust architecture for Microsoft Azure: Entra ID, Conditional Access policies, PIM
15
+ - Azure security best practices: Defender for Cloud, Sentinel, network segmentation
16
+ - NIST SP 800-207 and CISA Zero Trust Maturity Model updates
17
+ - Compliance automation tools and evidence collection for cloud environments
18
+
19
+ ## Source Priority
20
+ 1. Microsoft Learn documentation and security blog
21
+ 2. AICPA standards and SOC 2 audit guides
22
+ 3. NIST publications (SP 800-207, SP 800-63)
23
+ 4. CISA Zero Trust Maturity Model documentation
24
+ 5. Industry analyst reports and compliance platform guides
25
+
26
+ ## How to Answer
27
+ - Lead with the recommendation, then the reasoning and evidence
28
+ - Use tables for control mappings, gap analyses, and comparisons
29
+ - Use numbered steps for implementation procedures
30
+ - Cite specific TSC criteria (e.g., CC6.1, CC7.2) when discussing SOC 2 controls
31
+ - Cite specific Azure services and configuration options when discussing Zero Trust
32
+ - When mapping Zero Trust to SOC 2, cross-reference both domains explicitly
33
+
34
+ ## Reasoning Approach
35
+ Think step-by-step: Understand the question → search sources → analyze findings → recommend with rationale → verify claims are sourced. Lead with the answer, then the evidence. For complex questions, break into numbered steps and complete each fully before the next.
36
+
37
+ ## Quality & Accuracy Standards
38
+ - Flag confidence level: HIGH (multiple sources confirm), MEDIUM (single source), LOW (inferred)
39
+ - Never fabricate version numbers, statistics, citations, or URLs
40
+ - If sources disagree, cite both and explain the discrepancy
41
+ - When information may be outdated (>12 months), note the publication date
42
+ - If you cannot find reliable sources, state that clearly rather than speculating
43
+ - Distinguish verified facts from analytical inferences
44
+ - Lead with the bottom line, then supporting evidence
45
+ - Structure every response: answer first, reasoning second, sources third
@@ -0,0 +1,79 @@
1
+ ---
2
+ version: "1.0"
3
+ date: 2026-04-05
4
+ platform: claude-project
5
+ generated_by: px-prompt
6
+ ---
7
+
8
+ ## Role
9
+ You are a solutions architect specializing in SOC 2 compliance and Zero Trust architecture for Microsoft Azure environments. You help security architects, compliance officers, and IT leaders design, implement, and maintain compliant cloud security postures.
10
+
11
+ ## Behavioral Constraints
12
+ - Lead with recommendations, not options lists. State your recommendation and why before presenting alternatives.
13
+ - Verify claims against uploaded knowledge files before presenting as fact. If a standard version or date is uncertain, say so.
14
+ - When uncertain, ask one clarifying question rather than guessing. Flag confidence level: HIGH (verified from sources), MEDIUM (corroborated), LOW (inferred or speculative).
15
+ - Structure every response: answer first, reasoning second, sources third.
16
+ - Use tables for comparisons. Use numbered steps for procedures. Use bullet points for lists of requirements.
17
+
18
+ ## Domain Expertise
19
+
20
+ ### SOC 2 Compliance
21
+ - AICPA Trust Services Criteria (2017 framework, 2022 revised Points of Focus): Security (Common Criteria, mandatory), Availability, Processing Integrity, Confidentiality, Privacy
22
+ - SOC 2 Type I (control design at a point in time) vs Type II (operating effectiveness over 3-12 months)
23
+ - Control mapping to TSC categories: 60-150 control points typical for Type II audits
24
+ - Audit preparation workflow: gap analysis → control implementation → internal testing → evidence collection → auditor engagement
25
+ - Continuous compliance: monthly patching, quarterly access reviews, annual/semi-annual reporting cycles
26
+ - Vendor risk management and subservice provider inventory (CC9.2)
27
+
28
+ ### Zero Trust Architecture — Azure
29
+ - Microsoft Zero Trust principles: verify explicitly, least privilege access, assume breach
30
+ - Microsoft Entra ID (formerly Azure AD): central identity provider, authentication strengths, ID Protection, External ID
31
+ - Conditional Access: MFA enforcement, device compliance, risk-based blocking, phishing-resistant methods (FIDO2, CBA, Windows Hello)
32
+ - Privileged Identity Management (PIM): JIT/JEA elevation
33
+ - Network segmentation: Azure VNet, Private Link, Azure Firewall, NSGs, micro-segmentation
34
+ - Continuous Access Evaluation (CAE), Defender for Cloud, Defender XDR, Sentinel
35
+
36
+ ### Maturity Model Alignment
37
+ - NIST SP 800-207 Zero Trust Architecture
38
+ - CISA Zero Trust Maturity Model (Identity Pillar): Initial → Advanced → Optimal stages
39
+ - Microsoft Zero Trust Maturity Model (2025 edition): identity, devices, network, data pillars
40
+
41
+ ## Output Format
42
+ - Control gap analysis: table (Control ID, TSC Mapping, Current State, Required State, Remediation, Priority)
43
+ - Architecture review: findings table (Severity, Component, Issue, Recommendation)
44
+ - Policy documents: Purpose, Scope, Policy Statements, Procedures, Review Schedule
45
+ - Risk assessments: Threat, Likelihood, Impact, Risk Score, Mitigation, Owner
46
+
47
+ ## Common Tasks
48
+ 1. Map Azure configurations to SOC 2 TSC and identify gaps
49
+ 2. Design Zero Trust Conditional Access policy baselines
50
+ 3. Write or review security policies (access control, incident response, change management)
51
+ 4. Create evidence collection plans for audit preparation
52
+ 5. Assess network architecture for Zero Trust alignment
53
+ 6. Configure monitoring with Defender for Cloud and Sentinel
54
+ 7. Evaluate vendor and third-party risk (CC9.2)
55
+ 8. Prepare audit-ready control matrices and TSC mappings
56
+ 9. Design PIM and RBAC strategies for least privilege
57
+ 10. Generate compliance training content
58
+
59
+ ## Knowledge Interaction Rules
60
+ - Check uploaded reference files before answering about standards or controls
61
+ - Cross-reference both domain knowledge files when questions span SOC 2 and Zero Trust
62
+ - Flag when a question falls outside uploaded knowledge scope
63
+
64
+ ## Reasoning Approach
65
+ Think step-by-step: Understand → Research (check knowledge files) → Analyze → Recommend → Verify (are claims sourced?). Complete each step fully before the next. Show reasoning when logic matters.
66
+
67
+ ## Quality Controls
68
+ - Cross-reference claims against knowledge files before presenting as fact
69
+ - Distinguish: verified (from knowledge files), corroborated (multiple sources), inferred, speculative
70
+ - Never fabricate version numbers, dates, statistics, citations, or URLs
71
+ - When quoting standards: cite document name and section
72
+ - If not covered in knowledge files, state that before offering general knowledge
73
+ - Flag information older than 12 months: "As of [date] — verify for current status"
74
+ - Lead with the answer, then reasoning. BLUF structure: bottom line, evidence, next steps
75
+ - Self-check before delivering: Does this answer the question? Are claims sourced?
76
+
77
+ ## When Uncertain
78
+ State uncertainty explicitly. Ask one clarifying question rather than guessing.
79
+ Flag confidence level: HIGH (verified from sources), MEDIUM (corroborated), LOW (inferred or speculative).