Secretos en documentos wiki
Utilice referencias a secretos para sustituir una contraseña o un token conocido
en el cuerpo actual de una memoria o tarjeta de conocimiento. El documento
conserva un marcador como {{secret:API_KEY}}, y una credencial cifrada en la
misma bóveda almacena el valor. Las lecturas actuales, la búsqueda y MCP no
expanden el marcador.
Esta función requiere una CLI/un daemon o una aplicación móvil actualizados. Actualice todos los clientes antes de sincronizar documentos con referencias: los clientes antiguos no pueden decodificar el nuevo campo de contenido. Consulte los límites de seguridad y los resultados de validación.
Sustituir un secreto
Inicie el daemon y desbloquee la biblioteca. Utilice los identificadores cortos de la bóveda y del documento que devuelve el listado o la búsqueda. Ejecute sudo en el mismo terminal antes de realizar la sustitución:
memories sudo
memories memory protect-secret VAULT_ID DOCUMENT_ID API_KEY
Para una tarjeta de conocimiento, utilice:
memories card protect-secret VAULT_ID CARD_ID API_KEY
La CLI solicita el secreto exacto sin mostrarlo. No coloque el secreto en los argumentos ni en el nombre de referencia. La sustitución distingue mayúsculas de minúsculas y es literal; no utiliza una expresión regular. Se sustituyen todas las coincidencias no superpuestas del cuerpo actual. Por ejemplo, un cuerpo que contiene dos veces el mismo token sintético queda así:
API_KEY={{secret:API_KEY}}
Authorization: Bearer {{secret:API_KEY}}
Si la operación tiene éxito, la respuesta JSON normal devuelve el id del
documento, el nuevo ID de credential y el número de replacements. La creación
de la credencial y la sustitución en el documento se confirman juntas; una
operación rechazada no guarda ninguno de los cambios.
En la aplicación móvil, abra el menú de la memoria/tarjeta, elija Proteger secreto en el documento, confirme la advertencia sobre el historial, introduzca un nombre de referencia y después el secreto en el campo oculto. Complete la autorización mediante contraseña cuando se le solicite.
Los nombres de referencia contienen entre 1 y 64 letras ASCII, dígitos, guiones bajos o guiones y no deben estar en uso en ese documento. Un documento puede contener como máximo 64 referencias. La sustitución requiere sudo local y permiso de escritura en la bóveda. Se rechaza si:
- El secreto está vacío o no aparece en el cuerpo actual.
- El nombre no es válido, ya está asociado o su marcador ya aparece en el cuerpo.
- El secreto también aparece en metadatos, como el título, las etiquetas o la fuente, o quedaría en el nuevo marcador o alteraría un marcador de referencia existente.
- El documento tiene versiones en conflicto sin resolver, o el contenido resultante supera sus límites de tamaño o de referencias.
Elimine los valores expuestos de los metadatos y resuelva los conflictos antes de volver a intentarlo. Esas ediciones también dejan intactas las versiones históricas firmadas.
Copiar un valor actual
Copiar requiere sudo local. Para una referencia de documento, indique su etiqueta aunque solo exista una referencia. Para una credencial o tarjeta protegida, utilice su propio ID:
memories sudo
memories credential copy VAULT_ID DOCUMENT_ID --label API_KEY
memories credential copy VAULT_ID CREDENTIAL_ID
memories credential copy VAULT_ID PROTECTED_CARD_ID
La CLI escribe en el portapapeles del sistema e imprime únicamente el estado
de la copia ("copied": true). El cliente local autenticado recibe el texto
sin cifrar para realizar la copia. Las lecturas y exportaciones genéricas de
credenciales siguen sin estar disponibles, y MCP no puede realizar sustituciones
ni copias, incluso con una concesión de escritura.
En la aplicación móvil, elija Copiar secreto en el menú del documento, la tarjeta protegida o la credencial. Seleccione el nombre de referencia para un documento, confirme la advertencia sobre el portapapeles y complete la autorización cuando se le solicite. La aplicación indica que la operación se completó sin mostrar el valor y descarta las respuestas tardías después de pasar a segundo plano o bloquearse.
Las tarjetas protegidas de cuenta y de token copian su contraseña o token almacenados. Una tarjeta env copia su texto dotenv almacenado. Una tarjeta OTP copia su semilla Base32; utilice la acción OTP separada para generar un código de un solo uso actual. La copia al portapapeles solo admite texto UTF-8 y rechaza las credenciales que contienen bytes NUL.
| Plataforma | Requisito del portapapeles |
|---|---|
| CLI de Windows | Acceso nativo al portapapeles de Windows |
| CLI de macOS | pbcopy disponible en el entorno de la CLI |
CLI de Linux, con WAYLAND_DISPLAY definido |
wl-copy y acceso a la sesión de Wayland |
| CLI de Linux, en los demás casos | xclip y acceso al portapapeles de X11 |
| Móvil | El portapapeles de la plataforma a través de Flutter |
Linux selecciona el programa auxiliar a partir de WAYLAND_DISPLAY; no pasa
automáticamente de wl-copy a xclip. Si falta el programa auxiliar o el
portapapeles es inaccesible, el comando falla. El servicio registra una intención
de entrega antes de enviar el valor al cliente, por lo que esa entrada de
auditoría por sí sola no demuestra que la copia al portapapeles se haya completado.
Edición, sincronización y límites
El mapa tipado secrets del documento asocia etiquetas con IDs de credenciales.
Escribir un marcador manualmente no crea una credencial ni concede acceso. Las
ediciones ordinarias deben conservar el mapa existente; la CLI y el editor móvil
lo conservan. La herramienta MCP actual card_write no transmite ese mapa, por
lo que se rechaza la actualización mediante ella de una tarjeta con referencias
a secretos. Utilice la CLI o el editor móvil para esas tarjetas. Eliminar un
marcador del cuerpo no elimina la asociación ni la credencial.
Las referencias resuelven el valor actual de la credencial. Para actualizarlo,
utilice el ID de credencial devuelto con un comando autorizado de sustitución
de credenciales, por ejemplo memories credential add VAULT_ID API_KEY --id CREDENTIAL_ID,
que solicita una entrada oculta. El marcador del documento permanece igual.
Esto cambia el valor almacenado; la rotación de claves del proveedor debe
realizarse por separado.
El documento y la credencial viajan con su bóveda durante la sincronización cifrada. La recuperación independiente de copias de seguridad conserva las referencias de los activos sin ambigüedad; las bóvedas limitadas al dispositivo siguen excluidas de la sincronización y las copias de seguridad. Eliminar una credencial referenciada o dejarla en conflicto impide copiar mediante esa referencia.
La sustitución solo cambia el cuerpo actual. Las revisiones firmadas anteriores, los archivos de recuperación, las copias de seguridad existentes, otros documentos y las copias compartidas pueden conservar el secreto original. Revoque o rote con su emisor las claves que ya hayan quedado expuestas.
El contenido del portapapeles puede permanecer después del bloqueo y otras aplicaciones, el historial del portapapeles o la sincronización del sistema operativo pueden leerlo o conservarlo. Vacíe el portapapeles después de usarlo; la aplicación no garantiza su borrado.