> For the complete documentation index, see [llms.txt](https://docs.j.tools/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.j.tools/tr/yardim-and-guvenlik/model.md).

# Güvenlik modelimiz

J Tools, token işlemlerini cüzdanının velayetini hiçbir zaman almadan yürütür. Her işlemi kendin imzalarsın, platform işlemi oluşturup yayınlar ve bunların arkasında sunucu tarafında koruma katmanları durur.

```mermaid
flowchart LR
    A[J Tools'ta bir işlem hazırlarsın] --> B[Cüzdanın işlemi gösterir]
    B --> C[Kendi cüzdanında onaylayıp imzalarsın]
    C --> D[İmzalı işlem Solana'ya yayınlanır]
    C --> E[Anahtarların cüzdanından hiç çıkmaz]
    class C,E brand;
    class A,B,D soft;
    classDef brand fill:#EF2A2A,stroke:#EF2A2A,color:#ffffff,font-weight:bold;
    classDef soft fill:#1f2937,stroke:#374151,color:#e5e7eb;
```

{% hint style="success" %}
**J Tools non-custodial'dır.** Özel anahtarlarını asla tutmaz, asla istemeyiz. Her işlem tarayıcında oluşturulur ve kendi cüzdanın imzalar. Bir sayfa senden özel anahtar yapıştırmanı isterse dur, sayfayı kapat ve bize bildir.
{% endhint %}

## Kısa özet

{% hint style="success" %}
Anahtarların cüzdanında kalır, ücret tutarları hiçbir zaman tarayıcıdan alınmaz ve gizli bilgiler log'lara hiç ulaşmaz. Yönetici erişimi ikinci bir faktörün arkasına kilitlenmiştir ve denetim izi, herhangi bir kurcalamanın ortaya çıkacağı şekilde kurulmuştur.
{% endhint %}

## Sözlerimiz bir bakışta

<table data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td></td><td></td><td></td></tr></tbody></table>

## Tasarım gereği non-custodial

J Tools bir private key'i asla saklamaz, istemez veya iletmez. Her imza, cüzdan adaptörün aracılığıyla tarayıcında gerçekleşir ve ağa yalnızca imzalanmış sonuç gider. Bir sayfa sana private key veya seed phrase yapıştırmanı söylüyorsa, o biz değiliz.

## Kurcalamayı belli eden bir denetim zinciri

Yönetici işlemleri, yalnızca ekleme yapılabilen bir denetim log'una yazılır. Her satır, kendinden önceki satırın SHA-256 değeri olan bir `prev_hash` taşır, yani kayıtlar bir zincir gibi birbirine bağlıdır. Bir satırı değiştir ya da sil, ondan sonraki her hash eşleşmeyi keser ve değişiklik apaçık ortaya çıkar. Log içerikleri hiçbir zaman parola veya token barındırmaz.

## RPC beyaz listesi ve hız limitleri

Tarayıcı, ham bir Solana node'uyla doğrudan konuşmaz. Yalnızca sabit bir metot kümesine izin veren ve IP başına istekleri sınırlayan bir okuma proxy'si üzerinden gider. RPC URL'leri ve anahtarları sunucu tarafında kalır, yani tarayıcının sızdıracağı bir şey olmaz. Hız limitleri Postgres'te tutulur ve her endpoint için ayrı ayrı uygulanır. Gerçek istemci IP'si, en sağdaki `x-forwarded-for` değerinden okunur, limit sahte bir header ile aldatılamaz.

## Ücret hırsızlığına karşı koruma

Bir tool platform ücreti aldığında komisyon, veritabanının tuttuğu tutara göre kaydedilir, asla tarayıcının gönderdiği bir sayıya göre değil. İstemciden gelen bir ücrete güvenen yol yoktur. Onay vermeden önce tam dökümü (toplam, platform ücreti ve tahmini ağ ücreti) tool'un ücret kartında görürsün. Referans değerler için uygulama içindeki ücret özetine ya da [Ücret tablosu](/tr/referans/fee-schedule.md) sayfasına bak.

{% hint style="warning" %}
**Ücretler hakkında.** Her işlemin iki maliyeti vardır: validator'lara ödenen Solana **ağ ücreti** ve **J Tools platform ücreti**. Platform ücreti, onaylamadan önce uygulamada her zaman görünür ve sen imzalamadan hiçbir şey tahsil edilmez. Ücretler zamanla değişebilir, bu yüzden bir kez gördüğün sayıya değil, uygulamadaki özete güven.
{% endhint %}

## Yönetici erişimi kilitli

Yönetici paneline ulaşmak bir parola ve bir TOTP kodu gerektirir, hepsi sunucuda zorunlu kılınır. Akış, hiçbir şey ele vermeyecek biçimde kurulmuştur.

{% tabs %}
{% tab title="İkinci faktör" %}
TOTP zorunludur. Kodlar sunucu tarafında kontrol edilir ve art arda gelen yanlış kodlar hesabı bir bekleme süresi boyunca kilitler. Kilit nedeni istemciye asla geri gönderilmez.
{% endtab %}

{% tab title="Parola saklama" %}
Yönetici parolaları Argon2id hash'leri olarak saklanır ve yalnızca ortam değişkenleri üzerinden yapılandırılır. Panelde ya da API'de bir parola sıfırlama ekranı yoktur; değişiklik demek yeni bir env değeri ve bir deploy demek.
{% endtab %}

{% tab title="Bilgi sızıntısı yok" %}
Başarısız bir giriş her zaman sabit sürede aynı genel mesajı döndürür. Kullanıcı adı yanlış da olsa, parola yanlış da olsa, hesap kilitli de olsa yanıt dışarıdan birebir aynı görünür. Giriş denemeleri hem IP hem de kullanıcı adı bazında hız limitine tabidir.
{% endtab %}

{% tab title="Oturumlar" %}
Oturumlar; httpOnly, Secure, SameSite=Strict çerezleri ve kriptografik olarak rastgele kimliklerle sunucu tarafındaki bir depoda yaşar. Sabitlemeye (fixation) karşı savunmak için her girişte yenilenir, boşta kaldıklarında zaman aşımına uğrar ve yönetici başına sayısı sınırlanır.
{% endtab %}
{% endtabs %}

## Her yerde OPSEC

Operasyonel güvenlik her endpoint ve sayfada geçerli olan sabit bir kuraldır. Gizli bilgiler, private key'ler ve tam token'lar asla log'lanmaz. İstemciye dönen bir hata yanıtı; stack trace, iç dosya yolu ve veritabanı ayrıntısı içermeyen sade bir `{ code, message }` yapısıdır; tüm tablo sunucu log'larında kalır. Otomatik agent'lar üzerinden yayın, insan yöneticinin onayının arkasına alınmıştır, yani bir kişi onay vermeden hiçbir şey okuyuculara ulaşmaz.

## SSS

<details>

<summary>J Tools private key'imi hiç görür mü?</summary>

Hayır. İmzalama, tarayıcınızdaki cüzdanınızda gerçekleşir. Platform yalnızca imzalanmış işlemi alır, arkasındaki anahtarı asla.

</details>

<details>

<summary>Uygulamanın kullandığı RPC endpoint'ini neden göremiyorum?</summary>

RPC URL'leri ve anahtarları yalnızca sunucuya ait gizli bilgilerdir. Tarayıcı okumalarını bir proxy üzerinden yönlendirir, bu yüzden dışarı açılacak herkese açık bir RPC değişkeni yoktur. Böylece sağlayıcı kimlik bilgileri erişilemez kalır.

</details>

<details>

<summary>Birinin daha düşük bir ücret uydurmasını ne engelliyor?</summary>

Tarayıcının ücret hakkında gönderdiği hiçbir şeye güvenilmez. Komisyon kaydı her zaman veritabanında saklanan tutarı kullanır, yani kurcalanmış bir istemci değeri hiçbir şeyi değiştirmez. Bkz. Ücret koruması.

</details>

<details>

<summary>Denetim log'unun düzenlendiğini nasıl anlarım?</summary>

Her kaydın hash'i kendinden öncekine bağlıdır. Herhangi bir satırı düzenlemek, onu izleyen her hash'i bozar ve değişiklik bir doğrulama taramasında tespit edilebilir hale gelir.

</details>

## İlgili sayfalar

{% content-ref url="/pages/TIBm0qqj6W1BM4QNwH0X" %}
[Phantom uyarıları](/tr/yardim-and-guvenlik/phantom-warnings.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.j.tools/tr/yardim-and-guvenlik/model.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
