dineshb commited on
Commit
427580c
·
verified ·
1 Parent(s): 9064af7

Keep Gemini secret server-side and fix widget state

Browse files
Files changed (1) hide show
  1. app.py +11 -6
app.py CHANGED
@@ -97,15 +97,20 @@ with st.sidebar:
97
  )
98
  st.caption("AUTONOMOUS ANALYSIS WORKSPACE")
99
  st.markdown("##### Gemini intelligence")
100
- default_key = os.getenv("GEMINI_API_KEY", os.getenv("GOOGLE_API_KEY", ""))
101
- api_key = st.text_input(
102
- "Gemini API key",
103
- value=default_key,
104
  type="password",
105
- help="Masked in the interface and not intentionally written to files or logs.",
106
  )
 
107
  model = st.selectbox("Model", ["gemini-2.5-flash", "gemini-2.5-pro", "gemini-2.0-flash"])
108
- st.caption("● AI ready" if api_key else "○ Local analysis mode")
 
 
 
 
109
  st.divider()
110
  st.markdown("##### Privacy controls")
111
  metadata_only = st.toggle(
 
97
  )
98
  st.caption("AUTONOMOUS ANALYSIS WORKSPACE")
99
  st.markdown("##### Gemini intelligence")
100
+ server_api_key = os.getenv("GEMINI_API_KEY", os.getenv("GOOGLE_API_KEY", ""))
101
+ user_api_key = st.text_input(
102
+ "Personal Gemini API key (optional)",
103
+ value="",
104
  type="password",
105
+ help="Leave blank to use the secured server-side key. Never stored or logged.",
106
  )
107
+ api_key = user_api_key.strip() or server_api_key
108
  model = st.selectbox("Model", ["gemini-2.5-flash", "gemini-2.5-pro", "gemini-2.0-flash"])
109
+ st.caption(
110
+ "● AI ready · secured server key"
111
+ if server_api_key
112
+ else ("● AI ready" if api_key else "○ Local analysis mode")
113
+ )
114
  st.divider()
115
  st.markdown("##### Privacy controls")
116
  metadata_only = st.toggle(