Private Preview - features may change without notice
GramSpec
Start free

Run it · 20

What a security reviewer asks

The questions a platform or security team asks before anything is connected, each answered where it is enforced. Their database is only ever read, the language model is never handed a password, and every query is checked and logged.

The trust boundaries. Someone signs in; the apps hold a saved connection whose secret is encrypted; the language model is sent the model of the data and never a credential; every statement is checked to be a plain read, run on the customer's database, and logged; the only copies held are a star's rows and uploaded files.GRAMSPECYOUR DATAAnyone signing inSign-ina password, Google orMicrosoft, a second factorSaved connectionssecrets encrypted, the keyheld in a vaultThe appsGrammar, Starmaker,Palmtree, Vision, ReasonA plain read, or itis blockedThe query logwho, when, what, andwhether it ranWhat we hold ofyoursa star's rows and uploadedfiles, in a schema of yourownThe language modelYour databaseonly ever read1234567 The trust boundaries. Someone signs in; the apps hold a saved connection whose secret is encrypted; the language model is sent the model of the data and never a credential; every statement is checked to be a plain read, run on the customer's database, and logged; the only copies held are a star's rows and uploaded files.GRAMSPECYOUR DATAAnyonesigninginSign-inSavedconnectionsThe appsA plain read,or it isblockedThe querylogWhat we holdof yoursThelanguagemodelYour databaseonly ever read1234567
Each number is a question, answered below at the place it is enforced.
  1. Who can get in? Every page and every call requires a signed-in person unless it is deliberately public. Sign-in is a password kept only as a hash, or Google or Microsoft, and any account can add a second factor from an authenticator app.
  2. Where do our database credentials live? Encrypted before they are stored, with the keys that lock them held in a key vault, apart from what they lock. A password is never sent back to the browser once saved.
  3. What is the language model sent? The model of the data and the question, and, where an answer is made from them, the rows a checked query returned. Never a password and never a connection string. Palmtree, the load and the drift check do not use one at all.
  4. Can it change our data? Every statement is checked to be a plain read before it runs, and one that is not is blocked. That check is a second line: the login they give us should itself be read-only.
  5. Does our data leave our database? Queries run where the data is and the rows are shown, not kept.
  6. Who ran what? Every run is written to a log: who, when, on which connection, the statement, and whether it was blocked and why.
  7. What do you hold of ours? Two things, each because someone asked for it: the rows a star needs, copied so the star exists to be read, and files they uploaded. Both sit in schemas of that person's own, and a query may name no one else's.

And between people. A board shared with a teammate or placed on a website runs on its owner's connection, so nobody else holds the password (scenarios 15 and 17). Rows can be limited for each person (16). Keys, tokens and share links are random and kept only as hashes (18).