S
S3 Manager v1.4.0
v1.4.0 · iOS 17+ · 한·영·일

AWS S3 관리,
이제 손바닥 위에서.

버킷 생성부터 수명주기·공유·접근 로깅까지. SwiftUI로 빚은 모바일 콘솔과 FastAPI 백엔드. AWS 키는 단말 Keychain에서만 살아 숨쉽니다.

버킷 관리
Full-feature
API 라우터
16개
자격증명 저장
Keychain only
$ s3m sync ./local s3://prod-uploads ✓ uploaded 38 objects · 142.4 MB · 2.1s $ s3m share ./invoice.pdf --expires 7d --password → s3m.app/s/8f3a2k9

S3 콘솔의 전부를, 폰의 물성으로.

# 01 / mobile-first
모바일 풀-기능 콘솔
버킷 생성, 버전 관리, CORS, 정적 호스팅, 수명주기까지. 데스크톱 콘솔에 의존하지 않고도 완전한 운영이 가능합니다.
createBucket lifecycle CORS versioning staticHosting
# 02 / security
단말 Keychain 단독 보관
AWS Access Key는 서버 DB에 저장되지 않습니다. 매 호출마다 헤더로 암호화 전송, 메모리에서 즉시 폐기.
Keychain X-AWS-Credentials AES no-DB-storage
# 03 / workflows
공유·즐겨찾기·분석 통합
단순 파일 관리에 머무르지 않습니다. 만료·비밀번호 공유 링크, 접근 로그, 비용 분석을 한 앱에서.
shareLink auditLog costAnalysis favorites

5개 메인 탭, 한 번에 둘러보기

탭을 눌러 기기 화면이 전환됩니다 →

AWS 키는
당신의 폰에서만.

자격증명은 단말 Keychain에서만 복호화되고, API 호출마다 암호화된 헤더로 전송됩니다. 서버 DB에 평문은 물론 암호화된 키조차 저장하지 않습니다. 데이터베이스가 통째로 유출되어도 AWS 자격증명은 살아남습니다.

  • Keychain 단말기 보안 칩 기반 자격증명 저장
  • Per-request decrypt API 호출 단위 복호화 → AWS 호출 → 즉시 폐기
  • JWT Refresh + Revoke 리프레시 토큰 DB 저장 + 즉시 무효화 지원
  • SlowAPI Rate Limit 엔드포인트별 호출 빈도 제한
  • Audit Log 모든 작업의 감사 로그 자동 기록
security/architecture.txt
ascii
iOS App
Keychain
(단말 보관)
X-AWS-Credentials (암호문)
────────────▶
FastAPI
ENCRYPTION_KEY
복호화
boto3
AWS S3 API
(메모리 폐기)
$ grep -r "aws_access_key" db_dump.sql
→ 0 results. by design.

16개 라우터, 도메인별 명확하게.

FastAPI 0.115 · Pydantic 2 · MySQL 8

검증된 도구만,
최신 버전으로.

iOSS3_IOS · SwiftUI 클라이언트
UISwiftUI · NavigationStack · TabView
상태@StateObject · @EnvironmentObject · Combine
네트워크URLSession 자체 APIClient · async/await
보안 저장소KeychainManager (토큰 + AWS 자격증명)
암호화EncryptionManager · 헤더 암호화
소셜 로그인GoogleSignIn SDK · Sign in with Apple
다국어Localizable.strings · ko / en / ja
아키텍처Feature 단위 MVVM
BackendS3_FastAPI · API 서버
WebFastAPI 0.115+ · Pydantic 2
ASGIUvicorn
DBMySQL 8.0+ · aiomysql · SQLAlchemy 2.0
AWS SDKboto3 / aioboto3
Authpython-jose · passlib + bcrypt · OAuth 2.0
Encryptioncryptography (AES)
Rate / CacheSlowAPI · Redis
Obs / Teststructlog · prometheus-client · pytest
Database tables
users social_accounts refresh_tokens audit_logs favorites share_links ~ aws_credentials (의도적으로 부재)

첫 4페이지의 약속.

01 / 04
클라우드 스토리지
Cloud Storage
AWS S3 버킷을 한 손에서.
02 / 04
파일 업·다운로드
Effortless File Mgmt.
폴더 트리, 미리보기, 일괄 처리.
03 / 04
보안 & 암호화
Safe Credentials
단말 Keychain 단독 보관.
04 / 04
공유 & 협업
Easy File Sharing
만료·비밀번호·횟수 제한.

로그인은 선택,
AWS 키만 있으면 즉시.

비회원도 AWS 자격증명만 등록하면 모든 S3 관리 기능을 쓸 수 있습니다. 공유 링크·즐겨찾기처럼 서버 저장이 필요한 기능에서만 로그인 모달이 자연스럽게 떠오릅니다.

Splash
Onboarding
Login (선택)
Credentials
Main (Tab)
fallback modal
비로그인 상태에서 보호된 기능 접근 시 LoginRequiredModal이 트리거됩니다.

우리가 믿는 여섯 줄.

무료 다운로드.
AWS 계정만 있으면.

결제·구독 없이 바로 사용. 자체 AWS 계정의 사용량 비용만 청구됩니다. (앱 자체는 무료)

install.sh
bash
# 1. iOS 앱 설치
App Store → "S3 Manager"
# 2. (선택) 백엔드 셀프호스팅
$ docker pull s3manager/api:latest
$ docker run -p 8000:8000 \
-e ENCRYPTION_KEY=$(openssl rand -hex 32) \
-e MYSQL_URL=mysql://… \
s3manager/api:latest
✓ uvicorn running on :8000

자주 묻는 질문.