Skip to content

Commit f40670b

Browse files
committed
Tighten README and Swift gitignore
1 parent 82fc148 commit f40670b

6 files changed

Lines changed: 86 additions & 99 deletions

File tree

.gitignore

Lines changed: 48 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,57 @@
1+
# Swift Package Manager
12
.build/
2-
.swiftpm/
3-
.DS_Store
4-
DerivedData/
3+
.swiftpm/configuration/
4+
.swiftpm/xcode/
5+
6+
# Build and release artifacts
57
build/
68
dist/
9+
DerivedData/
10+
*.xcarchive
11+
*.dSYM/
12+
*.app/
13+
*.ipa
14+
*.pkg
15+
*.zip
16+
17+
# Xcode user state
18+
*.xcuserstate
19+
*.xcscmblueprint
20+
*.mode1v3
21+
*.mode2v3
22+
*.pbxuser
23+
*.perspectivev3
24+
xcuserdata/
25+
26+
# macOS filesystem noise
27+
.DS_Store
28+
.AppleDouble
29+
.LSOverride
30+
Icon?
31+
._*
32+
33+
# Local editor and agent state
34+
.vscode/
35+
.idea/
36+
37+
# Logs and temporary files
38+
*.log
39+
*.tmp
40+
*.swp
41+
*.swo
42+
43+
# Local secrets, credentials, and signing material
744
.env
845
.env.*
946
*.p12
1047
*.mobileprovision
11-
*.xcarchive
12-
*.log
48+
*.provisionprofile
49+
*.key
50+
*.pem
51+
*.crt
52+
*.cer
53+
*.der
54+
55+
# Keep GitHub Actions workflow files tracked.
1356
!.github/**/*.yml
1457
!.github/**/*.yaml

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ Current release metadata: `0.1.0 alpha`. This is a pre-stable product; breaking
88

99
## Product Boundary
1010

11-
Agentic Secrets is a macOS lower-leakage secret delivery system for developer machines.
11+
Agentic Secrets is a macOS runtime secret protection system for developer machines.
1212

13-
It does not make execution safe. It makes delivery of secrets explicit, narrow, approved, bounded, auditable, and lower-leakage than `.env`, shell environment, MCP configs, or plaintext provider tokens.
13+
It does not make execution safe. It protects the secret delivery boundary by making runtime delivery explicit, narrow, approved, bounded, auditable, and fail-closed instead of leaving secrets in `.env`, shell environments, MCP configs, or plaintext provider token files.
1414

1515
The default distribution model is open-source self-build with local ad-hoc signing. Downloadable Developer ID-signed and notarized binaries are optional future maintainer work, not a requirement for contributors or local use.
1616

Docs/FUTURE_ENDPOINT_SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Agentic Secrets does not require EndpointSecurity for the default local self-build release track. EndpointSecurity is a possible future provenance enhancement for maintainers who want stronger process-origin evidence than terminal environment hints or best-effort process-tree inspection can provide.
44

5-
The default product boundary remains unchanged: Agentic Secrets is a lower-leakage secret delivery system, not a general endpoint monitoring agent.
5+
The default product boundary remains unchanged: Agentic Secrets is a runtime secret protection system, not a general endpoint monitoring agent.
66

77
## What EndpointSecurity Adds
88

Docs/THREAT_MODEL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Agentic Secrets Threat Model
22

3-
Agentic Secrets is a macOS lower-leakage secret delivery system for developer machines.
3+
Agentic Secrets is a macOS runtime secret protection system for developer machines.
44

55
It does not make arbitrary execution safe. It narrows how secrets are delivered, records why delivery was allowed, and prevents common plaintext leakage paths such as `.env`, shell profiles, shell history, inherited shell environment, MCP client configs, and provider tokens in process argv.
66

README.md

Lines changed: 33 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,113 +1,57 @@
11
# Agentic Secrets
22

3-
Version: `0.1.0 alpha`
3+
Agentic Secrets protects runtime secrets on macOS developer machines.
44

5-
Agentic Secrets is a macOS self-build tool for lower-leakage secret delivery on developer machines. Its core job is controlled delivery at runtime: deciding when, how, and to which local tool a stored secret may be released, with local approval through Touch ID or the local account password.
5+
It keeps long-lived provider tokens out of ambient places like `.env` files, shell startup files, MCP configs, and native CLI config files. Secrets are stored locally, released only for an approved runtime request, and tied to a specific tool, target binary identity, delivery context, and local authentication event.
66

7-
It keeps provider tokens out of `.env` files, shell startup files, MCP configs, and native CLI config files such as `hcloud`'s `cli.toml`. It does not make arbitrary command execution safe; it makes secret delivery explicit, narrow, locally approved, auditable, and fail-closed.
7+
Agentic Secrets does not sandbox commands or make target tools trustworthy. It protects the secret delivery boundary: when a secret may be released, to which local tool, through which mechanism, under which policy, and with what audit trail.
88

9-
This is an alpha release: expect breaking changes while the CLI, storage format, and trust model settle.
9+
## Why
10+
11+
Developer tools often expect credentials to be present before they run. That pushes secrets into broad, sticky locations:
12+
13+
- shell environments inherited by unrelated processes
14+
- `.env` files and shell rc files
15+
- MCP server configuration files
16+
- native CLI config files
17+
- ad hoc scripts and logs
18+
19+
Agentic Secrets replaces ambient secret presence with explicit runtime delivery.
1020

1121
## How It Works
1222

13-
- You register a CLI app once, for example `hcloud`, and pass the token through stdin.
14-
- Agentic Secrets stores the secret in a local encrypted store and keeps non-secret CLI metadata in its registry.
15-
- Each run validates the registered target binary identity before resolving the secret.
16-
- macOS LocalAuthentication is required before secret delivery. Depending on system state, macOS may ask for Touch ID, Apple Watch, or the local account password.
17-
- Successful CLI authentication creates a scoped authorization grant for matching runs. The default mode is `always`; `remember-24h`, `short`, and `once` are available per run. Persistent grants are signed with a device-local macOS Keychain key and are bound to the CLI, target identity, workspace, config context, untrusted origin hint, provenance confidence, delivery mode, and secret alias. Each command is still policy-checked before secret delivery, and destructive commands require fresh approval.
18-
- Trust changes, such as `trust-refresh` after a CLI upgrade, also require LocalAuthentication.
19-
- Registry tampering and target replacement fail closed before any secret is read.
23+
- Register a local tool and the secret bindings it may receive.
24+
- Store secret material in an owner-only encrypted local store.
25+
- Validate the target binary identity before each delivery.
26+
- Require macOS LocalAuthentication before secret release.
27+
- Reuse narrowly scoped delivery grants only when policy allows.
28+
- Fail closed on registry, policy, grant, or target identity tampering.
29+
- Write structured audit records without secret values.
2030

21-
## Quick Install
31+
## Install
2232

23-
Requirements: macOS Tahoe 26.x, SwiftPM, Xcode Command Line Tools or Xcode with the macOS 26 SDK.
33+
Requirements: macOS Tahoe 26.x, SwiftPM, and Xcode Command Line Tools or Xcode with the macOS 26 SDK.
2434

2535
```sh
2636
git clone https://github.com/CodeAlive-AI/agentic-secrets.git
2737
cd agentic-secrets
2838
./scripts/install_local.sh --load --configure-shell
2939
```
3040

31-
Open a new terminal, or load the PATH change in the current one:
41+
Open a new terminal, then verify:
3242

3343
```sh
34-
source "$HOME/.zshrc"
3544
command -v agentic-secrets
36-
```
37-
38-
Verify the local build:
39-
40-
```sh
4145
agentic-secrets release-gates
4246
```
4347

44-
## hcloud Example
45-
46-
Register `hcloud` without writing the token to `cli.toml`:
47-
48-
```sh
49-
agentic-secrets cli register hcloud \
50-
--env HCLOUD_TOKEN \
51-
--secret-prompt
52-
```
53-
54-
Run `hcloud` through Agentic Secrets:
55-
56-
```sh
57-
agentic-secrets cli run hcloud -- server list
58-
```
59-
60-
Choose authorization mode for one run:
61-
62-
```sh
63-
agentic-secrets cli run hcloud --authorization-mode remember-24h -- server list
64-
agentic-secrets cli run hcloud --authorization-mode short --delivery-grant-ttl-seconds 300 -- server list
65-
agentic-secrets cli run hcloud --delivery-grant-ttl-seconds 0 -- server list
66-
```
67-
68-
Optional: install a shim so `hcloud ...` itself routes through Agentic Secrets. This does not replace the Homebrew binary; it creates an Agentic Secrets shim directory that is placed before the native CLI on `PATH`.
69-
70-
```sh
71-
agentic-secrets cli shim install hcloud --configure-shell
72-
```
73-
74-
Open a new terminal, then use:
75-
76-
```sh
77-
hcloud server list
78-
hcloud version
79-
```
80-
81-
Normal commands go through Agentic Secrets secret delivery. Global help/version commands pass through without secret delivery.
82-
83-
After a Homebrew upgrade of `hcloud`, verify the new binary and refresh trust:
84-
85-
```sh
86-
agentic-secrets cli trust-refresh hcloud
87-
```
88-
89-
### Codex App
90-
91-
Codex App may not inherit the same shell startup environment as Terminal. Do not
92-
put `HCLOUD_TOKEN` into `~/.codex/.env`; that bypasses Agentic Secrets secret
93-
delivery. Instead, install the Agentic Secrets shim and make sure Codex resolves
94-
`hcloud` to the local shim path:
95-
96-
```sh
97-
agentic-secrets cli shim install hcloud --force
98-
command -v hcloud
99-
```
100-
101-
Expected path:
102-
103-
```text
104-
~/Library/Application Support/AgenticSecrets/LocalInstall/shims/hcloud
105-
```
106-
107-
## More
48+
## Documentation
10849

109-
- Full install and troubleshooting: [Docs/INSTALLATION.md](Docs/INSTALLATION.md)
110-
- Operations guide: [Docs/OPERATIONS.md](Docs/OPERATIONS.md)
111-
- Acceptance criteria: [Docs/ACCEPTANCE_CRITERIA.md](Docs/ACCEPTANCE_CRITERIA.md)
112-
- Threat model: [Docs/THREAT_MODEL.md](Docs/THREAT_MODEL.md)
113-
- Developer/agent notes: [AGENTS.md](AGENTS.md)
50+
- [Installation](Docs/INSTALLATION.md)
51+
- [Operations](Docs/OPERATIONS.md)
52+
- [Threat model](Docs/THREAT_MODEL.md)
53+
- [Acceptance criteria](Docs/ACCEPTANCE_CRITERIA.md)
54+
- [Implementation map](Docs/IMPLEMENTATION_MAP.md)
55+
- [Ubiquitous language](Docs/THESAURUS.md)
56+
- [Contributing](CONTRIBUTING.md)
57+
- [Security policy](SECURITY.md)

ROADMAP.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This roadmap describes post-alpha product directions. It is not a release
44
commitment, but it should guide architecture decisions so short-term macOS work
55
does not block Linux, Windows, or richer audit workflows later.
66

7-
Agentic Secrets remains a lower-leakage secret delivery system. It does not make
7+
Agentic Secrets remains a runtime secret protection system. It does not make
88
arbitrary command execution safe. Future work should keep secret access explicit,
99
narrow, approved, bounded, auditable, and fail-closed.
1010

0 commit comments

Comments
 (0)